一、实验名称和性质
所属课程 | C#数据库系统设计 |
实验名称 | 数据集与SqlDataAdapter |
实验学时 | 2 |
实验性质 | ✓□验证 □综合 ✓□设计 |
必做/选做 | □必做 ✓□选做 |
二、实验目的
1. 了解DataSet的工作原理、层次结构类。
2. 了解SqlDataAdapter的工作原理。
3. 掌握如何创建SqlDataAdapter对象。
4. 掌握SqlDataAdapter的常用属性和方法。
三、实验的软硬件环境要求
硬件环境要求:
PC机(单机)
使用的软件名称、版本号以及模块:
Windows XP下的SQL Server 2005(或 SQL Server 2008)
四、知识准备
1.DataSet的工作原理:将数据从数据库中提出放入内存中。
2.DataSet的层次结构类
类 | 说明 |
DataTableCollection | 包含特定数据集的所有 DataTable 对象 |
DataTable | 表示数据集中的一个表 |
DataColumnCollection | 表示 DataTable 对象的结构 |
DataRowCollection | 表示 DataTable 对象中的实际数据行 |
DataColumn | 表示 DataTable 对象中列的结构 |
DataRow | 表示 DataTable 对象中的一个数据行 |
3.DataSet的创建
DataSet dataSet = new DataSet("MySchool"); “MySchool”是可选项
然后SqlDataAdapter.Fill()方法填充。
4.SqlDataAdapter的工作原理
5.SqlDataAdapter的创建方法
(1)用查询串和连接字符串
SqlDataAdapter da=new SqlDataAdapter (strSQL,strConn);
该方式会为每个SqlDataAdapter 创建一个新的SQLconnection对象,应适当选择。
(2)用查询串和连接对象
SQLconnection cn=new sqlConnection(strConn);
SqlDataAdapter da=new SqlDataAdapter (strSQL,cn);
比较常用的方式
(3)使用sqlcommand对象
SQLCOMMAND cmd=new sqlcommand(strSQL,CN);
SqlDataAdapter da=new SqlDataAdapter (cmd);
已存在一个sqlcommand对象时使用
6.利用SqlDataAdapter填充DataTable,然后利用DataTable的Add(),Delete()等方法来实现记录的插入、修改和删除。
(1)btnAdd_Click()
v string sqlStr = "select sno,cno,grade from sc";
v SqlDataAdapter sda = new SqlDataAdapter(sqlStr, conn);
v DataTable dt = new DataTable();
v sda.Fill(dt);
v DataRow dr = dt.Rows.Add();
v dr[0] = txtSNO.Text;
v dr[1] = txtCNO.Text;
v dr[2] = int.Parse (txtGrade.Text);
v SqlCommandBuilder scb = new SqlCommandBuilder(sda);
v sda.Update(dt.GetChanges);
v dt.AcceptChanges();
(2)btnUpdate_Click()
v string sqlStr = "select sno,cno,grade from sc where sno='"+txtSNO .Text +"' and cno='"+txtCNO .Text +"'";
v SqlDataAdapter sda = new SqlDataAdapter(sqlStr, conn);
v DataTable dt = new DataTable();
v sda.Fill(dt);
v DataRow dr = dt.Rows[0];
v dr[2] = int.Parse(txtGrade.Text);
v SqlCommandBuilder scb = new SqlCommandBuilder(sda);
v sda.Update(dt.GetChanges);
v dt.AcceptChanges();
(3)btnDelete_Click()
string connStr = @"Data Source=LENOVO-PC;Initial Catalog=Student;Integrated Security=True";
SqlConnectionconn = new SqlConnection(connStr);
stringsqlStr = "select* from sc where sno='"+ txtSNO.Text + "' and cno='" + txtCNO.Text + "'";
SqlDataAdaptersda = new SqlDataAdapter(sqlStr, conn);
DataTabledt = new DataTable();
sda.Fill(dt);
//DataRow dr = new DataRow();
dt.Rows[0].Delete ();
SqlCommandBuilderscb = new SqlCommandBuilder(sda);
sda.Update(dt.GetChanges());
dt.AcceptChanges();
五、实验内容
1.界面上有3个命令按钮btnShow、btnNextPage和btnPreviousPage。一个网格控件dataGridView1。根据下面界面设置窗体及对象属性。
2.利用SqlDataAdapter填充DataTable,然后利用DataTable的Add(),Delete()等方法来实现学生信息表中记录的插入、修改和删除。
六、实验报告
针对每个实验写出操作步骤和结果。