课堂实训
【实训目的】
1.能熟练使用ADO.NET组件和对象模型实现对数据库表数据的交互查询、添加、修改、删除的操作。
2.能在ADO.NET组件和对象模型中使用SQL语句、存储过程等。
【实训内容】
1.创建基于Web的图书管理系统项目:LibraryMangement,设置ASP.NET Web应用程序。
步骤:
(1)单击“开始|所有程序|Microsoft Visual Studio 2010| Microsoft Visual Studio
(2)单击“ | | ”,弹出“新建项目”对话框。选择“Visual C#| ”,输入项目名称: ,选择位置,单击“确定”按钮,就可新建项目,弹出“LibraryMangement -Microsoft Visual Studio”界面。
(3)为了调用数据库,要把数据库文件放置到本应用程序的 文件夹中。
(4)为了调用数据库,还要对ASP.NET进行配置,具体方法是:单击菜单栏中的“ | ”,弹出“ASP.NET Web应用程序管理”网页,然后单击“ ”选项卡。
(5)单击“创建新应用程序设置”,然后设置名称为“ ”,值为“ ”。
(6)设置好各项参数后,单击“保存”按钮,再单击“确定”按钮,就成功添加了应用程序设置,从而实现了与数据库的连接。
2. 创建类实现与数据库关联。
(1)本项目是利用自定义的类DBController来实现数据库的关联。具体方法:在“解决方案资源管理器”中,右击项目名“ ”,在弹出的菜单中“添加| ”,新建文件夹并命名为“App_Code”。
(2)添加类。在“解决方案资源管理器”中,右击文件夹“App_Code”,在弹出的菜单中“添加| ”,并设置名称为“DBController.cs”。
(3)设置各项参数后,单击“添加”按钮,就创建了DBController类,首先要导入命名空间,从而调用SQL Server 2008,具体代码如下:
using ;
using System.Configuration;
using System.Data;
定义公用变量,实现数据库的关联,具体代码如下:
public class DBController
{
private DataSet ds;
private SqlDataAdapter myAdapter;
private SqlCommand myCmd;
SqlConnection myConn = new SqlConnection( );
//打开关闭连接
public void Open()
{
myConn. ;
}
public void Close()
{
myConn. ;
}
public DataSet GetDS()
{
return ds;
}
/*-----------------------------
*函 数 名:Fill
*功能描述:填充ds
*输入参数:sqlstr,SQL字符串
*返 回 值:无
*创建日期:
*修改日期:
*作 者:
*附加说明:
* ------------------------------- */
public void Fill(string sqlstr)
{
myAdapter=new SqlDataAdapter( , );
ds =new DataSet();
myAdapter. ;
}
/*--------------------------------
*函 数 名:ExecNonSql
*功能描述:执行无返回值的数据库操作
*输入参数:sqlstr,查询的SQL字符串
*返 回 值:无
*创建日期:
*修改日期:
*作 者:
*附加说明:
*--------------------------------*/
public void ExecNonSql(string sqlstr)
{
if (myConn.State == ConnectionState.Closed)
myConn.Open();
myCmd = new SqlCommand( , );
myCmd. ;
myCmd.Dispose();
Close();
}
/*-----------------------------------
*函 数 名:ExecReaderSql
*功能描述:执行查询操作
*输入参数:sqlstr,查询的SQL字符串
*返 回 值:查询结果,返回SqlDataReader对象
*创建日期:
*修改日期:
*作 者:
*附加说明:
* ---------------------------------*/
public SqlDataReader ExecReaderSql(string sqlstr)
{
if (myConn.State == ConnectionState.Closed)
myConn.Open();
myCmd = new SqlCommand( , );
SqlDataReader reader = myCmd. ;
myCmd.Dispose();
return reader;
}
}
3.设计图书管理系统母版页。
在“解决方案资源管理器”中,右击项目名“LibraryMangement”,在弹出的菜单中“添加| ”,弹出“添加新项”对话框对话框,选择“ ”,输入名称:Library.Master,单击“添加”按钮,创建了Library.Master母版页。使用“Menu”控件编辑母版页。
4. 实现图书管理系统的读者信息管理。
(1)实现读者信息添加
在“解决方案资源管理器”中,右击项目名“ ”,在弹出的菜单中“添加| ”,弹出“添加新项”对话框对话框,选择“ ”,输入名称:AddReader.aspx,单击“添加”按钮,弹出“选择母版页”对话框。在“文件夹内容(C):”中选择 ,单击“确定”按钮,创建了AddReader.aspx窗体。
(2)读者信息添加页面设计
读者信息添加页面AddReader.aspx控件添加后的页面如下图1:
图1 学生信息添加页面
2.关键代码参考
protected void btnAdd_Click(object sender, EventArgs e)
{
DBController obj = new DBController();
try
{
string sqlstr = string.Format( );
;
;
txtNum.Text = "";
txtName.Text = "";
txtMajor.Text = "";
txtBirthday.Text = "";
txtAddress.Text = "";
txtPhone.Text = "";
Page.RegisterClientScriptBlock("alert", "<script>alert('学生信息添加成功!请继续添加')</script>");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
;
}
}
protected void btnCancel_Click(object sender, EventArgs e)
{
Response.Redirect("AddStudent.aspx");
}
5.实现读者信息修改和删除。
在“解决方案资源管理器”中,右击项目名“LibraryMangement”,在弹出的菜单中“添加| ”,弹出“添加新项”对话框对话框,选择“ ”,输入名称: ReaderManage.aspx,单击“添加”按钮,弹出“选择母版页”对话框。在“文件夹内容(C):”中选择Library.Master,单击“确定”按钮,创建了ReaderManage.aspx窗体。
(1)读者信息修改和删除页面设计
读者信息修改和删除页面ReaderManage.aspx的控件设置如表1:
表1 读者信息修改和删除页面ReaderManage.aspx的控件设置
控件 |
作用 |
属性设置 |
属性值 |
Table |
表格 |
class |
|
SqlDataSource |
数据源 |
ID |
SqlDataSource1 |
ConnectionString |
|
||
SelectCommandType |
|
||
SelectQuery |
|
||
DeleteCommandType |
|
||
DeleteQuery |
|
||
UpdateCommandType |
|
||
UpdateQuery |
|
||
GridView |
显示读者信息 |
ID |
readerGridView |
DataSourceID |
SqlDataSource1 |
||
DataKeyNames |
|
||
AllowPaging |
True |
||
AllowSorting |
True |
||
AutoGenerateDeleteButton |
|
||
AutoGenerateEditButton |
|
6.完成图书管理系统其他功能模块。
课外训练
1.创建基于Web的学生宿舍管理系统项目:RoomMangement,设置ASP.NET Web应用程序。
2. 创建类实现与数据库关联。
3.设计学生宿舍管理系统母版页。
4. 实现学生宿舍管理系统的学生信息管理。
5.实现学生信息修改和删除。
6.完成学生宿舍管理系统其他功能模块。