一 搜索模块:
连接数据库的操作可以放在共同代码区
1 连接数据库:
//创建一个SqlConnection
SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["bswzConnectionString3"].ConnectionString);
Conn.Open();//打开数据库
打开了别忘了关掉:Conn.Open();
2 绑定gridview
//绑定gridview,排序绑定
public void BindDBGrd(string sqlstr, DataGrid myDBGrd, object SortExp)
{
if (myConn.State == ConnectionState.Closed)
myConn.Open();//打开数据库
Fill(sqlstr);//执行SQL语句,将需要显示的提出
DataView dv = ds.Tables[0].DefaultView;//gridview的样子
dv.Sort = SortExp.ToString();//排序
myDBGrd.DataSource = dv;//填充数据源
myDBGrd.DataBind();//绑定数据
}
3 Sesstion
需要存储需要记录的内容,比如名字,Session["name"],注意不要重名
4 在gridview中的某一列,绑定数据库中的某一字段,并且以链接的形式传参,并且解决乱码的问题
4.1
<asp:TemplateColumn HeaderText="图书名称">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<font face="宋体">
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# EditUrl(DataBinder.Eval(Container.DataItem, "BookName").ToString()) %>'>
<%# Eval("BookName") %>
</asp:HyperLink></font>
</ItemTemplate>
</asp:TemplateColumn>
在gridview中用TemplateColumn,用HyperLink来实现链接,用函数来实现传参数,用Eval来绑定数据库字段。
public string EditUrl(string str)
{
str = "~/librarymanagement/booksearch/viewlist.aspx?bookName=" + Server.UrlEncode(str);
return str;
}
4.2
Gridview根据某据数据中某个字段限定的几个值来显示不同的状态,需要用一个函数实现:
<asp:TemplateColumn SortExpression="BookState" HeaderText="目前状态">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# EditState( Convert.ToInt32(DataBinder.Eval(Container, "DataItem.BookState",null))) %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
public string EditState(int state)
{
switch (state)
{
case 1: return "流通";
case 2: return "收藏";
case 3: return "丢失";
case 4: return "已借出";
}
return null;
}
str = "~/librarymanagement/booksearch/viewlist.aspx?bookName=" + Server.UrlEncode(str);//防止出现乱码,进行编码
//if(!IsPostBack),第一次初始化页面的时候会执行下面的方法
二 图书管理模块
1 添加图书
1 绑定数据库中的字段到DropDownList
//创建一个SqlConnection
SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["bswzConnectionString3"].ConnectionString);
string SQL_Select = "select ShelfName from BookShelf order by Id desc";
//构造一个SqlDataAdapter
SqlDataAdapter myAdapter = new SqlDataAdapter(SQL_Select, Conn);
//开始读取数据
Conn.Open();
DataSet dataSet = new DataSet();
myAdapter.Fill(dataSet, "BookShelf");
Conn.Close();
//开始绑定DropDownList
//指定DropDownList使用的数据源
DpBookShelfName.DataSource = dataSet.Tables["BookShelf"].DefaultView;
//指定DropDownList使用的表里的那些字段
//DropDownList1.DataTextField = "ItemName"; //dropdownlist的Text的字段
DpBookShelfName.DataValueField = "ShelfName";//dropdownlist的Value的字段
要了解SqlDataAdapter首先你要知道DataSet因为它们两人是在一起用的,DataSet就好像一个远程数据库的副本,它能表现出数据库的所有结构,DataAdapter的作用就远程数据源和DataSet起桥梁作用,举例
ublic void BindDBGrd(string sqlstr, DataGrid myDBGrd, object SortExp)
{
if (myConn.State == ConnectionState.Closed)
myConn.Open();//打开数据库
Fill(sqlstr);//执行SQL语句,将需要显示的提出
DataView dv = ds.Tables[0].DefaultView;//gridview的样子
dv.Sort = SortExp.ToString();//排序
myDBGrd.DataSource = dv;//填充数据源
myDBGrd.DataBind();//绑定数据
3 Sesstion
需要存储需要记录的内容,比如名字,Session["name"],注意不要重名
4 在gridview中的某一列,绑定数据库中的某一字段,并且以链接的形式传参,并且解释乱码的问题
4.1
<asp:TemplateColumn HeaderText="图书名称">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<font face="宋体">
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# EditUrl(DataBinder.Eval(Container.DataItem, "BookName").ToString()) %>'>
<%# Eval("BookName") %>
</asp:HyperLink></font>
</ItemTemplate>
</asp:TemplateColumn>
在gridview中用TemplateColumn,用HyperLink来实现链接,用函数来实现传参数,用Eval来绑定数据库字段。
public string EditUrl(string str)
{
str = "~/librarymanagement/booksearch/viewlist.aspx?bookName=" + Server.UrlEncode(str);
return str;
}
4.2
Gridview根据某据数据中某个字段限定的几个值来显示不同的状态,需要用一个函数实现:
<asp:TemplateColumn SortExpression="BookState" HeaderText="目前状态">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# EditState( Convert.ToInt32(DataBinder.Eval(Container, "DataItem.BookState",null))) %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
public string EditState(int state)
{
switch (state)
{
case 1: return "流通";
case 2: return "收藏";
case 3: return "丢失";
case 4: return "已借出";
}
return null;
}
str = "~/librarymanagement/booksearch/viewlist.aspx?bookName=" + Server.UrlEncode(str);//防止出现乱码,进行编码
//if(!IsPostBack),第一次初始化页面的时候会执行下面的方法
二 图书管理模块
1 添加图书
1 绑定数据库中的字段到DropDownList
//创建一个SqlConnection
SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["bswzConnectionString3"].ConnectionString);
string SQL_Select = "select ShelfName from BookShelf order by Id desc";
//构造一个SqlDataAdapter
SqlDataAdapter myAdapter = new SqlDataAdapter(SQL_Select, Conn);
//开始读取数据
Conn.Open();
DataSet dataSet = new DataSet();
myAdapter.Fill(dataSet, "BookShelf");
Conn.Close();
//开始绑定DropDownList
//指定DropDownList使用的数据源
DpBookShelfName.DataSource = dataSet.Tables["BookShelf"].DefaultView;
//指定DropDownList使用的表里的那些字段
//DropDownList1.DataTextField = "ItemName"; //dropdownlist的Text的字段
DpBookShelfName.DataValueField = "ShelfName";//dropdownlist的Value的字段
要了解SqlDataAdapter首先你要知道DataSet因为它们两人是在一起用的,DataSet就好像一个远程数据库的副本,它能表现出数据库的所有结构,DataAdapter的作用就远程数据源和DataSet起桥梁作用,举例