同时往Oracle数据库的两个表中插入数据的问题!!!如何保证同步性
要么都成功,
要么都不成功。
怎么实现呢
protected void Button1_Click(object sender, EventArgs e)
{
sql1 = "insert into biao1(id,other)values('1',445)";
OracleCommand insert_it = new OracleCommand(sql1, conn);
insert_it.ExecuteNonQuery();
//////////////////
sql2 = "insert into biao2(id,qita)values('1','good')";
OracleCommand insert_it2 = new OracleCommand(sql2, conn);
insert_it2.ExecuteNonQuery();
}
////////////////
我是在vs2005平台中使用asp.net2.0 c#
------解决方案--------------------想到两个办法:
1.写成pl/sql方式,
C# code
protected void Button1_Click(object sender, EventArgs e)
{
sql1 = "begin
insert into biao2(id,qita)values('1','good');
insert into biao1(id,other)values('1',445);
end;";
OracleCommand insert_it = new OracleCommand(sql1, conn);
insert_it.ExecuteNonQuery();
//////////////////
//sql2 = "insert into biao2(id,qita)values('1','good')";
//OracleCommand insert_it2 = new OracleCommand(sql2, conn);
//insert_it2.ExecuteNonQuery();
}
------解决方案--------------------
用C#语言中的事务处理机制,在try块中开始一个事务,然后执行2条插入操作,
如果出现异常,在catch块中,进行回滚。
------解决方案--------------------
SQL code
在try块中开始一个事务,然后执行2条插入操作,
如果出现异常,在catch块中,进行回滚。
------解决方案--------------------
------解决方案--------------------
参考这个帖子吧,呵呵。里面有示例代码。
http://topic.csdn.net/t/20050115/09/3727497.html