如何应用事务进行多表更新?
zag 2002-06-20 03:29:55 我在程序中是这样写的:
sqlCommand s=new sqlCommand("插入一个表",cn);
sqlTranscation st=cn.BeginTranscation();
s.Transcation=st;
this.sqlDataAdapter1.InsertCommand.Transcation=st;
this.sqlDataAdapter1.DeleteCommand.Transcation=st;
this.sqlDataAdapter1.UpdateCommand.Transcation=st;
this.sqlDataAdapter2.InsertCommand.Transcation=st;
this.sqlDataAdapter2.DeleteCommand.Transcation=st;
this.sqlDataAdapter2.UpdateCommand.Transcation=st;
//注:sqlDataAdapter1,sqlDataAdapter2绑定在dataSet11上
try
{
s.ExecuteNonQuery();
(****)this.sqlDataAdapter1.Update(this.dataSet11,"表1");
this.sqlDataAdapter2.Update(this.dataSet11,"表2");
st.Commit();
}
catch(Exception ex)
{
st.Rollback();
MessageBox.Show(ex.Message);
return
}
只更新dataSet11中的表1时,一切正常,但如果更新两个表,会弹出消息框,指出Transcation与连接无关联.异常是在标注为(****)的行中抛出的,真弄不懂是怎么回事,望各位高手赐教。