刘
刘一飞
Unregistered / Unconfirmed
GUEST, unregistred user!
System.Data.OleDb.OleDbTransaction tranction=connection.begin
Transaction();
OleDbCommand command=connection.CreateCommand();
command.Transaction=tranction;
try
{
int i;
for(i=0;i<listdata.Tables["emptypakge"].Rows.Count;i++)
{
//进行数据INSERT
。。。。。。。。。
command.Prepare();
command.ExecuteNonQuery();
}
//update 操作
。。。。。。
command.Prepare();
command.ExecuteNonQuery();
command.Transaction.Commit();
}
catch(Exception EE)
{
tranction.Rollback();
}
问题:
1)循环第一次,没有问题,当循环第二次到 进行数据INSERT 的command.ExecuteNonQuery()的时候发生异常
2)假如我把程序改成如下所表示:
try
{
int i;
for(i=0;i<listdata.Tables["emptypakge"].Rows.Count;i++)
{
try
{
System.Data.OleDb.OleDbTransaction tranction=connection.begin
Transaction();
OleDbCommand command=connection.CreateCommand();
command.Transaction=tranction;
//进行数据INSERT
。。。。。。。。。
command.Prepare();
command.ExecuteNonQuery();
//update 操作
。。。。。。
command.Prepare();
command.ExecuteNonQuery();
command.Transaction.Commit();
}
catch(Exception EE)
{
tranction.Rollback();
}
}
不会发生异常。
3)第一种能整单保证数据的完整性,但是第二种不是我希望的,因为当前条数据提交成功,而后来的一条数据提交发生异常,不能能把前几条回滚掉
4)希望各位高手前辈多多指点
Transaction();
OleDbCommand command=connection.CreateCommand();
command.Transaction=tranction;
try
{
int i;
for(i=0;i<listdata.Tables["emptypakge"].Rows.Count;i++)
{
//进行数据INSERT
。。。。。。。。。
command.Prepare();
command.ExecuteNonQuery();
}
//update 操作
。。。。。。
command.Prepare();
command.ExecuteNonQuery();
command.Transaction.Commit();
}
catch(Exception EE)
{
tranction.Rollback();
}
问题:
1)循环第一次,没有问题,当循环第二次到 进行数据INSERT 的command.ExecuteNonQuery()的时候发生异常
2)假如我把程序改成如下所表示:
try
{
int i;
for(i=0;i<listdata.Tables["emptypakge"].Rows.Count;i++)
{
try
{
System.Data.OleDb.OleDbTransaction tranction=connection.begin
Transaction();
OleDbCommand command=connection.CreateCommand();
command.Transaction=tranction;
//进行数据INSERT
。。。。。。。。。
command.Prepare();
command.ExecuteNonQuery();
//update 操作
。。。。。。
command.Prepare();
command.ExecuteNonQuery();
command.Transaction.Commit();
}
catch(Exception EE)
{
tranction.Rollback();
}
}
不会发生异常。
3)第一种能整单保证数据的完整性,但是第二种不是我希望的,因为当前条数据提交成功,而后来的一条数据提交发生异常,不能能把前几条回滚掉
4)希望各位高手前辈多多指点