怎么样在ASP.NET中多条进行SQL批处理执行操作?
【摘要】
在当前很多项目都要进行多条记录的插入或更新操作,这些操作要么全部执行成功,要么全部执行失败(Rollback),这也是数据库的一致性的要求,这个操作好像叫做:原子性
应该是吧。全文给出了一个OleDb的例子,就是使用OleDbTransaction来实现我们的目的,
当然SqlServer就应该使用:SqlTransaction 了本站原创,转载请证明:http://beinet.cn/blog
【全文】<%@ Page Language="C#" Debug="true" %>
<%@ Import NameSpace = "System.Data.OleDb" %> <script language=C# runat=server> void Page_Load(){ OleDbTransaction(); } void OleDbTransaction() { OleDbConnection myConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=F:/db.mdb"); myConnection.Open(); OleDbCommand com = new OleDbCommand(); OleDbTransaction Trans; Trans = myConnection.BeginTransaction(); com.Connection = myConnection; com.Transaction = Trans; try { //想要看到Rollback的操作,可以在下面制造一点错误,嘿嘿 com.CommandText = "Insert into userlist ([name], [pass]) Values ('10', 't1')"; com.ExecuteNonQuery(); com.CommandText = "Insert into userlist ([name], [pass]) Values ('11', 't2')"; com.ExecuteNonQuery(); Trans.Commit(); Response.Write("Insert OK."); } catch(Exception e) { Trans.Rollback(); Response.Write("Error: "+ e.Message); Response.Write("Error Source: "+ e.Source); Response.Write("Insert failed."); } finally { myConnection.Close(); } } </script>