请微软件专家,能帮忙解决ADO.NET这个问题!!!急啊!!!
public bool AddOrderData(ref string TableName,string[] Values,ListView.ListViewItemCollection _Items)
{
OleDbCommand _Command=new OleDbCommand();
OleDbTransaction myTrans;
string _Key;
string SQLString="select ID,OrderDate,UnitPrice,OrderCash from TempOrder where id< 0";
DataSet _DataSet=new DataSet();
try
{
_Connection.Open();
//事务开始
myTrans=_Connection.BeginTransaction();
try
{
OleDbDataAdapter _DataAdapter=new OleDbDataAdapter();
_DataAdapter.SelectCommand=new OleDbCommand(SQLString,_Connection,myTrans);
_DataAdapter.RowUpdated+= new OleDbRowUpdatedEventHandler(OnRowUpdated);
OleDbCommandBuilder _CommandB=new OleDbCommandBuilder(_DataAdapter);
_CommandB.RefreshSchema();
_DataAdapter.Fill(_DataSet,"TempOrder");
DataRow _Row=_DataSet.Tables["TempOrder"].NewRow();
_Row["OrderDate"]=DateTime.Parse(Values[0]);
_Row["UnitPrice"]=Int32.Parse(Values[1]);
_Row["OrderCash"]=Int32.Parse(Values[2]);
_DataSet.Tables["TempOrder"].Rows.Add(_Row);
_DataAdapter.Update(_DataSet,"TempOrder");
_Key=_Row["ID"].ToString();
string TempFields="ID,ComputerNO,StartDate,StartTime";
_Command.Transaction=myTrans;
foreach(ListViewItem tempItem in _Items)
{
SQLString="Inser Into TempOrderComputer(" + TempFields+") Values(";
SQLString+=_Key+","+tempItem.Text+",'"+tempItem.SubItems[1]+"','"+tempItem.SubItems[1]+"')";
_Command.Connection=_Connection;
_Command.CommandText=SQLString;
_Command.ExecuteNonQuery();
}
myTrans.Commit();
}
catch(Exception e_)
{
myTrans.Rollback();
TableName=e_.Message;
return false;
}
//事务结束
_Connection.Close();
}
catch(Exception e_)
{
TableName=e_.Message;
return false;
}
return true;
}
以上代码在执行到_DataAdaPater.update()时错误
“命令必须具有事务对象才能执行,Transaction属性尚未初始化。”
但是事务已经设置了!
不知是不是我做错了,请帮忙解决一下!!急。。。