要么都成功,
要么都不成功。
怎么实现呢
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#
要么都不成功。
怎么实现呢
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方式,
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();
}
2.放到同一个事务中处理
{
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();
}
如果出现异常,在catch块中,进行回滚。
如果出现异常,在catch块中,进行回滚。
PLS-00103: 出现符号 ""在需要下列之一时:
begincasedeclareexitforgotoif
loopmodnullpragmaraisereturnselectupdatewhilewith
<an identifier><a double-quoted delimited-identifier>
<a bind variable><<closecurrentdeletefetchlockinsertopen
rollbacksavepointsetsqlexecutecommitforallmerge
<a single-quoted SQL string>pipe
sql1 = "begin insert into biao2(id,qita)values('1','good'); insert into biao1(id,other)values('1',445); end;";
http://topic.csdn.net/t/20050115/09/3727497.html