悬赏分:50 该问题已到期 浏览:333 次
ReturnBoolMessage IGoldIdealDBConn.DeleteOperation(string connectionStr, string selectString, DataSet ds)
{
//定义变量记录执行的结果
ReturnBoolMessage resultFlag = new ReturnBoolMessage();
//数据库连接
SqlConnection conn = new SqlConnection(connectionStr);
//打开连接
conn.Open();
//SqlDataAdapter对象
SqlDataAdapter da = new SqlDataAdapter(selectString, conn);
//SqlCommandBuilder对象
SqlCommandBuilder builder = new SqlCommandBuilder(da);
da.DeleteCommand = builder.GetDeleteCommand();
//事务
SqlTransaction tn = conn.BeginTransaction();
//设置command的事务属性
da.DeleteCommand.Transaction = tn;
//进行表映射
for (int i = 0; i < ds.Tables.Count; i++)
{
if (i == 0)
{
da.TableMappings.Add("Table", ds.Tables[i].TableName);
}
else
{
 
|
报什么错呢? 你没有写做删除操作的SqlCommand对象, 你可以这样写 da.DeleteCommand = new SqlCommand( "DELETE FROM (表名) WHERE 字段名= 值"); 感觉不是楼上所说的问题。 da.DeleteCommand = builder.GetDeleteCommand();会自动创建一个deleteCommand 但又不太清楚哪个地方的错误,楼主把错误信息贴出来,让大家帮你看看 请楼主把代码打全吧.好让大家分析分析..............我看到使用的事务.还没有看到提交事务......... 楼上说得对,,应该是事务没有提交,刚用的时候我也犯过这个毛病 错误代码是什么呀 |