A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许庭洲 黑马帝   /  2012-11-17 07:38  /  1179 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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对象自动生成INSERTUPDATEDELETE语句,从而使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>");

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马