你是要用事务吗?何必那末麻烦?
public void Trans(string[] sStr,out Exception err)
{
err=null;
string strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+
Server.MapPath(".")+"..\\..\\data\\db1.mdb";
OleDbConnection conn=new OleDbConnection(strconn);
OleDbCommand MyCommand=new OleDbCommand("",conn);
//MyCommand.Connection=conn;
if(conn.State.ToString()=="Closed")
{
conn.Open();
}
OleDbTransaction MyTrans;
MyTrans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
MyCommand.Transaction = MyTrans;
try
{
foreach(string s in sStr)
{
if(s!="")
{
MyCommand.CommandText=s;
MyCommand.ExecuteNonQuery();
}
}
MyTrans.Commit();
}
catch(Exception e)
{
err=e;
try{MyTrans.Rollback();}
catch{}
}
finally
{
conn.Close();
}
}
public void Trans(string[] sStr,out Exception err)
{
err=null;
string strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+
Server.MapPath(".")+"..\\..\\data\\db1.mdb";
OleDbConnection conn=new OleDbConnection(strconn);
OleDbCommand MyCommand=new OleDbCommand("",conn);
//MyCommand.Connection=conn;
if(conn.State.ToString()=="Closed")
{
conn.Open();
}
OleDbTransaction MyTrans;
MyTrans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
MyCommand.Transaction = MyTrans;
try
{
foreach(string s in sStr)
{
if(s!="")
{
MyCommand.CommandText=s;
MyCommand.ExecuteNonQuery();
}
}
MyTrans.Commit();
}
catch(Exception e)
{
err=e;
try{MyTrans.Rollback();}
catch{}
}
finally
{
conn.Close();
}
}
解决方案 »
- updatepanel里如何实现文件下载
- 大家有没有做过.net 做一个软件专门用来统计80端口 ,并问一下,我的这个设想可以实现吗
- 急!急!打开ASP.NET网页如何进行域用户验证,验证通过后才能打开网页浏览资料
- 这种配置错误应该怎么解决???
- 高手请进studio.net问题
- 我想用__doPostBack('Button3','');来执行BUTTON3的事件为什么不执行
- 发邮件问题MailMessage()
- 在OA中角色一定的但得根据这个角色来判定这个用户的权限
- 一个简单而又赋有挑战性的问题!!你也可能曾经遇到过!!
- 如何在库中以xml的行式读数据,又是如何以xml的行式提交的呢?
- 本人最近接手一项目,在ie中打开mht文件的时候系统提示语法错误。在低版本的ie上却没有这个问题!
- datagrid问题
ppp80() ( ) 我是想用我封装的类实现事务
谁能把握写的那个分析一下,看有什么问题
但是,如果你使用基于连接的事务那么可能会有于事务失败或者事务回滚等操作导致某个Connection一直处于打开状态。所以我想如果要设计出来一个完整的数据库访问类是一件不容易的事情。希望的看法对你有所帮助!