DataAdapter 具有四项用于从数据源检索数据和更新数据源中的数据的属性:SelectCommand 属性从数据源中返回数据;InsertCommand、UpdateCommand 和 DeleteCommand 属性用于管理数据源中的更改。
(1)在调用 DataAdapter 的 Fill 方法之前,必须设置 SelectCommand 属性。根据对 DataSet 中的数据作出的更改,
(2)在调用 DataAdapter 的 Update 方法之前,必须设置 InsertCommand、UpdateCommand 或 DeleteCommand 属性。例如,如果已添加行,在调用 Update 之前必须设置 InsertCommand。
(3)当 Update 处理已插入、更新或删除的行时,DataAdapter 将使用相应的 Command 属性来处理该操作。
(4)有关已修改行的当前信息将通过 Parameters 集合传递到 Command 对象。当更新数据源中的行时,将调用 UPDATE 语句,该语句使用唯
一标识符来标识该表中要更新的行。该唯一标识符通常是主键字段的值。UPDATE 语句使用既包含唯一标识符又包含要更新的列和值的参数,
示例
SqlClient
string selectSQL =
"SELECT CustomerID, CompanyName FROM Customers WHERE CountryRegion = " +
"@CountryRegion AND City = @City";
// Assumes that connection is a valid SqlConnection object.
SqlDataAdapter adapter = new SqlDataAdapter();
SqlCommand selectCMD = new SqlCommand(selectSQL, connection);
adapter.SelectCommand = selectCMD;
// Add parameters and set values.
selectCMD.Parameters.Add(
"@CountryRegion", SqlDbType.NVarChar, 15).Value = "UK";
selectCMD.Parameters.Add(
"@City", SqlDbType.NVarChar, 15).Value = "London";
DataSet customers = new DataSet();
adapter.Fill(customers, "Customers");