DataAdapter对象和Connection对象、Command对象、DataReader对象一起时构成ADO.NET的四个重要对象之一。
DataAdapter对象在数据集(DataSet)和数据源(DataSource)之间连接中起着桥梁的作用。下面就利用DataAdapter对象来对数据源中的数据进行操作,包括添加、修改和删除操作。
(1)、添加数据
假如有一个Users表,其中包括如下字段:ID,UserName,Password,现在利用DataAdapter对象的Update方法来向数据源中增加一条数据。
.......
using System.Data.SqlClient;
.......
SqlConnection con = new SqlConnection("数据库连接字符串");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from Users",con);
SqlCommandBuilder scb = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds,"user");
DataRow dr = ds.Tables["user"].NewRow();
dr["ID"] = "05205020229";
dr["UserName"] = "暖枫无敌";
dr["Password"] = "admin";
ds.Tables["user"].Rows.Add(dr);
da.Update(ds,"user");
..........
在数据源中的表中新增加一行,然后给每个字段赋值,将该行添加到表中,最后利用数据适配器(DataAdapter)更新数据集(DataSet),
将数据表的变化,更新到数据源中去。
(2)、修改数据
接着上面的内容,假如想将新增加的Password字段值更改为admin888的话,该如何操作呢?步骤如下:
.......
using System.Data.SqlClient;
.......
SqlConnection con = new SqlConnection("数据库连接字符串");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from Users",con);
SqlCommandBuilder scb = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds,"user");
DataRow dr = ds.Tables["user"].Select("ID='05205020229' ");
dr[0]["Password"] = "admin888";
da.Update(ds,"user");
..........
(3)、删除数据
如果要删除上面的一条记录,代码如下:
.......
using System.Data.SqlClient;
.......
SqlConnection con = new SqlConnection("数据库连接字符串");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from Users",con);
SqlCommandBuilder scb = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds,"user");
DataRow dr = ds.Tables["user"].Select("ID='05205020229' ");
dr[0].Delete();
da.Update(ds,"user");
..........