首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

同时往Oracle数据库的两个表中插入数据的有关问题!怎么保证同步性

2012-04-07 
同时往Oracle数据库的两个表中插入数据的问题!!!如何保证同步性要么都成功,要么都不成功。怎么实现呢protec

同时往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 = "begininsert 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块中,进行回滚。
[解决办法]
探讨
引用:
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);
……

[解决办法]
参考这个帖子吧,呵呵。里面有示例代码。
http://topic.csdn.net/t/20050115/09/3727497.html

热点排行
Bad Request.