void ButtonClick(object sender,System.EventArgs args)
{
 OleDbConn.Open();
 OleDbTrans=OleDbConn.BeginTransaction();
 OleDbComm.Transaction=OleDbTrans;
if (sender==add)
{

//增加新行,添加记录
DataRow dr=ds.Tables[0].NewRow();
dr["name"]="se";
ds.Tables["mis"].Rows.Add(dr);
//更新数据库
try{
OleDbda.Update(ds);
OleDbTrans.Commit();
//更新datagrid
    ds.Clear();
OleDbda.Fill(ds,"mis");

}

catch(Exception e)
{
Console.WriteLine("Exceptin 1");
try
{
Console.WriteLine("begin rollback");
OleDbTrans.Rollback();
Console.WriteLine("Commit Rollback");
}
catch(Exception ex)
{
Console.WriteLine("Exception 2"); if (OleDbTrans.Connection!=null)
{
Console.WriteLine("3.OleDbTrans.Connection!=null");
Console.WriteLine("{0}",ex.ToString());
Console.WriteLine("4.OleDbTrans.Connection!=null");
}
}
Console.WriteLine("{0}",e.ToString()); Console.WriteLine("update fiale");
}
finally
{
Console.WriteLine("{0}","连接状态"+OleDbConn.State);
OleDbConn.Close();
Console.WriteLine("OleDbCoonn.Close");
}
}
执行第一遍时没有问题,再次执行时,就提示如下错误:
System.InvalidOperationException: 当分配给命令的连接处于挂起的本地事务中时,命令
必须具有事务对象才能执行。该命令的 Transaction 属性尚未初始化。
   at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMappi
ng tableMapping)
   at System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
   at System.Data.Common.DbDataAdapter.Update(DataSet dataSet)
   at database.data.ButtonClick(Object sender, EventArgs args)
请问是什么原因?