ADO.NET之SqlDataAdpter对象

5.1何为SqlDataAdapter

5.1.2 创建并使用SqlDataAdapter对象

strSQL ="select  * From tbname";

SqlConnection = new SqlConnection(strConnection);

SqlCommand = new SqlCommand(strSQL,cn);

SqlDataAdapter da = new SqlDataAdapter();

da.SelectCommand = cmd

SqlDataAdapter 构造函数

//传连接字串,这个方法会生成一个新的SqlConnection对象

SqlDataAdapter da = new SqlDataAdapter(strSQL,strConnection);

//传连接对象

SqlDataAdapter da = new SqlDataAdapter(strSQL,cn);

//传SqlCommand对象

SqlCommand cmd = new SqlCommand(strSQL,cn);

SqlDataAdapter da = new SqlDataAdapter(cmd);

5.2.2 从查询中获取结果

1.使用Fill() 方法

调用SqlDataAdapter类的Fill方法会执行储存在SqlDataAdapter中的SqlCommand对象属性中的查询,并将结果储存在DataSet.

以下代码调用Fill方法,并显示储存在DataSet中的结果

//没时间睡觉了,抓紧时间呀,岁月不咬人,时间吹人老。

strSQL ="select userName,userID From customers";

DataSet ds = new DataSet();

SqlDataAdapter da = new SqlDataAdapter(strSQL,strConnection);

da.Fill(ds);

foreach(DataRow row in ds.Tables[0].Rows)

  Console.Write("{0} - {1}",Row["userID"],row["userName"]);

//这里的Fil方法隐式l创建一个DataTable对象,并且TableName是"Table"

这个值的描述性比较差,可以用以下代码来自定义填充的tableName

SqlDataAdapter da = new SqlDataAdapter(strSQL,cn);

da.TableMappings.Add("Table","customers");//添加表名

DataSet ds = new DataSet();

da.Fill(ds);

Console.Write("Table ={0}",ds.Tables[0].TableName);

//也可用下面的方法指定Fill参数,不用手工添加表名

5.2.2从查询中获取结果

4.使用重载的Fill方法

strSQL ="Select * From customers";

SqlCommand cmd = new SqlCommand(strSQL,cn);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

foreach(DataRow row in dt.Rows)

Console.Write("{0}-{1}",row[1],row[2]);

用SqlDataAdapter类的Fill方法分页

//从第一条记录开始,填充20条记录到"Products"的DataTable中

SqlDataAdapter.Fill(DataSet,0,20,"Products");

//这个方法很容易对查询进行分页,但其效率比较低。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C++实习生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值