1、数据查询,这里的数据查询不再是通过Command对象实现,而是通过DataAdapter类的实例来实现,具体代码如下: SqlDataAdaptersqldadp = new SqlDataAdapter("SELECT name, company, position, shijian FROM[UserDate].[dbo].[b1] WHERE shijian > '2010-01-21'", con)
2、将数据填充到数据集,数据集也就是DataSet对象的实例了,代码如下: DataSetorder_daset = new DataSet();//创建DataSet对象实例 sqldadp.Fill(order_daset);//填充DataSet对象
3、对数据集中的数据进行展示和操作,这步也是这项技术中最重要、最麻烦的一步,主要是通过DataTable对象的实例对数据进行展示和修改,而DataTable类具有很多的属性和方法,常用的属性有:Columns能够得到数据集中的字段的数据类型、大小、字段名等信息,DataSet能够获得当前DataTable实例所属的数据集,Rows可以通过下标及字段名(类似于二维数组)的方式获得指定行列的数据,常用的方法有:NewRow()方法能够创建一个空白行,可以在添加数据的时候使用,AcceptChanges()方法能够将数据表中修改提交给数据库,Clear()方法可以清楚DataTable对象中的所有数据。具体代码如下: DataTable dt = newDataTable();//创建数据表对象 dt =order_daset.Tables[0];//填充数据表 Response.Write("<table border='1'><tr><th>姓名</th><th>公司</th><th>职位</th><th>入职时间</th></tr>"); for (int i = 0; i< dt.Rows.Count; i++) { //按照字段,逐行取出数据表中的内容并显示在页面上 Response.Write("<tr>"); Response.Write("<td>"+dt.Rows["name"].ToString()+"</td>"); Response.Write("<td>"+dt.Rows["company"].ToString()+"</td>"); Response.Write("<td>"+dt.Rows["position"].ToString()+"</td>"); Response.Write("<td>"+DateTime.Parse(dt.Rows["shijian"].ToString()).ToString("yyyy-MM-dd")+ "</td>"); Response.Write("</tr>"); } Response.Write("</table>");
4.对数据集的修改并且提交数据库:
对数据集的修改,可以通过DataRow以及SqlCommandBuilder对象的实例来实现,SqlCommandBuilder的作用是根据DataAdapter对象自动生成INSERT、UPDATE、DELETE语句,从而使DataAdapter对象更新数据库内容。具体代码如下: //创建DataAdapter对象实例 SqlDataAdaptersqldadp = new SqlDataAdapter("SELECTname, company, position, shijian FROM [UserDate].[dbo].[b1]", con); SqlCommandBuilderscb = new SqlCommandBuilder(sqldadp);//生成插入、删除、更新语句 DataSet ds = newDataSet();//创建DataSet对象 sqldadp.Fill(ds);//填充DataSet DataRow Myrow =ds.Tables[0].NewRow();//在数据表中创建新的空白记录对象 //从前台页面接受要插入的数据 Myrow["name"]= Name.Text; Myrow["company"]= Company.Text; Myrow["position"]= Position.Text; Myrow["shijian"]= Datetime.Text; //将接收到的数据添加到DataTable中 ds.Tables[0].Rows.Add(Myrow); //更新数据库中的内容 sqldadp.Update(ds); Response.Write("添加成功!<br>"); |