SqlDataAdapter对象代码示例

来源:互联网 发布:淘宝运营工具 编辑:程序博客网 时间:2024/05/16 07:27
 上篇我们讲述了SqlDataAdapter的作用(http://blog.csdn.net/zhvsby/archive/2008/11/24/3364345.aspx),本次讲解下应用

下面的代码将说明如何利用DataAdapter对象填充DataSet对象。

private static string strConnect = "data source=localhost; uid=sa;pwd=aspnet;database=LOGINDB"

string sqlStr =" Select * from USER";

//利用构造函数,创建DataAdapter

SqlDataAdapter da = new SqlDataAdapter(sqlStr,strConnect);

//创建DataSet

DataSet ds = new DataSet();

//填充,第一个参数是要填充的dataset对象,第二个参数是填充dataset的datatable

Da.Fill(ds, "USER");
上述代码使用DataApater对象填充DataSet对象的步骤如下。
(1) 根据连接字符串和SQL语句,创建一个SqlDataAdapter对象。这里,虽然没有出现Connection和Command对象的控制语句,但是 SqlDataAdapter对象会在创建的时候,自动构造对应的SqlConnection和SqlCommand对象,同时根据连接字符串自动初始化连接。要注意的是,此时SqlConnection和SqlCommand对象都处于关闭状态。
(2) 创建DataSet对象,该对象需要用DataAdapter填充。

(3) 调用DataAdapter的Fill方法,通过DataTable填充DataSet对象。由于跟随DataAdapter对象创建的Command里的SQL语句是访问数据库里的USER表,所以在调用Fill方法的时候,在打开对应SqlConnection和SqlCommand对象后,会用 USER表的数据填充创建一个名为USER的DataTable对象,再用该DataTable填充到DataSet中。

下面的代码演示了如何使用DataAdapter对象将DataSet中的数据更新到数据库。

private static string strConnect = "data source=localhost; uid=sa;pwd=aspnet;database=LOGINDB"

string sqlStr = "Select * from USER";

//利用构造函数,创建DataAdapter

SqlDataAdapter da = new SqlDataAdapter(sqlStr,strConnect);

//创建DataSet

DataSet ds = new DataSet();

//填充,第一个参数是要填充的dataset对象,第二个参数是填充dataset的datatable

Da.Fill(ds, "USER");

//以下代码将更新DataSet里的数据
//在DataSet里的名为"USER"的DataTable里添加一个用于描述行记录的DataRow对象

DataRow dr = ds.Tables["USER"].NewRow();

//通过DataRow对象添加一条记录
dr["USERID"] = "ID2";
dr["USERNAME"] = "TOM";

ds.Table["USER"].Rows.Add(dr);

//更新到数据库里
SqlCommandBuilder scb = new SqlCommandBuilder(da);
da.update(ds, "USER");
在上述代码里,首先使用DataAdapter填充DataSet对象,然后通过DataRow对象,向 DataSet添加一条记录,最后使用DataSet的update方法将添加的记录提交到数据库中。执行完update语句,数据库USER中就多了一条USERID是ID2、USERNAME是TOM的记录。
此外,上述代码出现的SqlCommandBuilder对象用来对数据表进行操作。用了这个对象,就不必再繁琐地使用DataAdapter的UpdataCommand属性来执行更新操作。
原创粉丝点击