OleDbConnection myConnection=new OleDbConnection(conn);
myConnection.Open();
OleDbCommand cmd=myConnection.CreateCommand();
OleDbTransaction myTrans;
myTrans=myConnection.BeginTransaction(IsolationLevel.ReadCommitted);
cmd.Connection=myConnection;
cmd.Transaction=myTrans;
try
{
sql="delete from PrintDetails";
cmd.CommandText=sql;
cmd.ExecuteNonQuery();
sql="insert into PrintDetails (Area,MakeDate,DeptName,EmployeeID,EmployeeName,FactSalary,Memo) select Area,MakeDate,DeptName,EmployeeID,EmployeeName,FactSalary,Memo from Details where Area='" + this.cboArea.Text + "'";
cmd.CommandText=sql;
cmd.ExecuteNonQuery();
myTrans.Commit();
}
catch (Exception ex)
{
try
{
MessageBox.Show(ex.Message);
myTrans.Rollback();
}
catch (OleDbException oleex)
{
if (myTrans.Connection !=null)
{
Console.WriteLine("在回滚事务时出现以下错误: " + oleex.Message + "。错误类型:" + oleex.GetType());
}
}
}
finally
{
myConnection.Close();
}
myConnection.Open();
OleDbCommand cmd=myConnection.CreateCommand();
OleDbTransaction myTrans;
myTrans=myConnection.BeginTransaction(IsolationLevel.ReadCommitted);
cmd.Connection=myConnection;
cmd.Transaction=myTrans;
try
{
sql="delete from PrintDetails";
cmd.CommandText=sql;
cmd.ExecuteNonQuery();
sql="insert into PrintDetails (Area,MakeDate,DeptName,EmployeeID,EmployeeName,FactSalary,Memo) select Area,MakeDate,DeptName,EmployeeID,EmployeeName,FactSalary,Memo from Details where Area='" + this.cboArea.Text + "'";
cmd.CommandText=sql;
cmd.ExecuteNonQuery();
myTrans.Commit();
}
catch (Exception ex)
{
try
{
MessageBox.Show(ex.Message);
myTrans.Rollback();
}
catch (OleDbException oleex)
{
if (myTrans.Connection !=null)
{
Console.WriteLine("在回滚事务时出现以下错误: " + oleex.Message + "。错误类型:" + oleex.GetType());
}
}
}
finally
{
myConnection.Close();
}
请参考:
http://office.microsoft.com/zh-cn/assistance/HP010322492052.aspx