上礼拜六 写了这样一段事务处理的代码。
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)
问题解决。
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)
问题解决。