/// <summary>
/// ADO.NET数据更新方法(2)
/// 适用范围:单表、有主键、不能更新图象列
/// </summary>
public DataSet UpdateByDataSet(DataSet ds,string tableName, string connectionString)
{
SqlConnection conn = new SqlConnection(connectionString));
string sql = "select * from " + tableName;
SqlCommand myCommand = new SqlCommand(sql),(SqlConnection) conn);
SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand );
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();
myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();
myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();
try
{
conn.Open();
myAdapter.Update(ds,tableName);
conn.Close();
return ds;
}
catch(Exception err)
{
conn.Close();
throw new BusinessException(err);
}
}
/// ADO.NET数据更新方法(2)
/// 适用范围:单表、有主键、不能更新图象列
/// </summary>
public DataSet UpdateByDataSet(DataSet ds,string tableName, string connectionString)
{
SqlConnection conn = new SqlConnection(connectionString));
string sql = "select * from " + tableName;
SqlCommand myCommand = new SqlCommand(sql),(SqlConnection) conn);
SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand );
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();
myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();
myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();
try
{
conn.Open();
myAdapter.Update(ds,tableName);
conn.Close();
return ds;
}
catch(Exception err)
{
conn.Close();
throw new BusinessException(err);
}
}
本文介绍了一种使用ADO.NET进行数据更新的方法,适用于单表且含有主键的情况,但不支持图片列的更新。该方法通过创建SqlCommandBuilder来生成插入、更新及删除命令,最后通过SqlDataAdapter的Update方法完成数据集的同步。
1315

被折叠的 条评论
为什么被折叠?



