上礼拜六犯的愚蠢错误

Posted on 2004-11-29 09:48  生活即技术  阅读(521)  评论(0编辑  收藏  举报
 上礼拜六 写了这样一段事务处理的代码。           
            on error resume next 
               Dim Myconn As New SqlClient.SqlConnection
                Dim Mycmd As New SqlClient.SqlCommand
                Dim str As String = System.Configuration.ConfigurationSettings.AppSettings("Connstr")
                Myconn.ConnectionString = str
                Myconn.Open()
                Dim trans As SqlClient.SqlTransaction = Myconn.BeginTransaction         
               Mycmd.Connection = Myconn
                Mycmd.Transaction = trans
    执行内容略 
                Mycmd.ExecuteNonQuery()
                if err.number<>0 then                         ' 检测是否有错误
                   trans.commit()
                   myconn.close
                  else 
                    trans.rollback()
                     myconn.close
                     response.write(err.description)
                  end if
   结果出现了错误。 
   错误描述是:事务对象未初始化等等
   是什么原因呢?事务对象未初始化。考虑的方向应该是定义事务对象这方面。可惜当天没有解决。回家后也是在想这个问题。
   到了今天在明白。
   Dim trans As SqlClient.SqlTransaction = Myconn.BeginTransaction         
   Myconn.Beging.Transaction 应该有参数,真是苯呀。
   最后根据自己的需要用了 
  Dim trans As SqlClient.SqlTransaction = Myconn.BeginTransaction(IsolationLevel.RepeatableRead)
  问题解决。