SqlDataAdapter的几种常用方法。主要代码例如下所示:
SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和 其它 属性,使数据的加载和更新更加方便。 DataSet 增加/更新/插入到数据库
public static SqlDataAdapter CreateCustomerAdapter(SqlConnection conn)

...{
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd;
SqlParameter parm;
// 创建选择命令.
cmd = new SqlCommand("SELECT * FROM Customers WHERE Country = @Country AND City = @City", conn);
cmd.Parameters.Add("@Country", SqlDbType.NVarChar, 15);
cmd.Parameters.Add("@City", SqlDbType.NVarChar, 15);
cmd.SelectCommand.Parameters["@Country"].Value = Country;
cmd.SelectCommand.Parameters["@City"].Value = City;
da.SelectCommand = cmd;
// 创建插入命令.
cmd = new SqlCommand("INSERT INTO Customers (CustomerID, CompanyName) VALUES (@CustomerID, @CompanyName)", conn);
cmd.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
cmd.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");
cmd.SelectCommand.Parameters["@CustomerID"].Value = CustomerID;
cmd.SelectCommand.Parameters["@CompanyName"].Value = CompanyName;
da.InsertCommand = cmd;
// 创建删除命令.
cmd = new SqlCommand("DELETE FROM Customers WHERE CustomerID = @CustomerID", conn);
parm = cmd.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
parm.SourceVersion = DataRowVersion.Original;
cmd.SelectCommand.Parameters["@CustomerID"].Value = CustomerID;
da.DeleteCommand = cmd;
// 创建更新命令.
cmd = new SqlCommand("UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName WHERE CustomerID = @oldCustomerID", conn);
cmd.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
cmd.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");
cmd.SelectCommand.Parameters["@CustomerID"].Value = CustomerID;
cmd.SelectCommand.Parameters["@CompanyName"].Value = CompanyName;
parm = cmd.Parameters.Add("@oldCustomerID", SqlDbType.NChar, 5, "CustomerID");
parm.SourceVersion = DataRowVersion.Original;
da.UpdateCommand = cmd;
return da;
}
// 其它.
private void update()

...{
SqlConnection conn = new SqlConnection(str);
SqlDataAdapter da = new SqlDataAdapter("SELECT order_id, contract FROM linhai", conn);
DataSet ds = new DataSet();
da.Fill(ds, "linhai");
da.UpdateCommand = new SqlCommand("UPDATE linhai SET contract = @contract WHERE order_id = @order_id" , conn);
da.UpdateCommand.Parameters.Add("@contract", SqlDbType.NVarChar, 15, "contract");
da.UpdateCommand.Parameters.Add("@order_id", SqlDbType.NVarChar, 15, "order_id");
ds.Tables["linhai"].Rows[0]["contract"] = "PPP";
da.Update(ds.Tables[0]);
}