transaction的问题,多谢

breadjyh 2004-10-02 09:08:09
public cnnMain As Data.OleDb.OleDbConnection '数据连接

Public Function f_ConnectDB() As Boolean '建立与数据库的连接
Try
cnnMain = New OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=db.mdb")
cnnMain.Open()
Return True
Catch ex As Exception
MsgBox(ex.ToString)
Return False
End Try
End Function

Dim l_cmm As OleDb.OleDbCommand
Dim l_tran As OleDb.OleDbTransaction
l_tran = cnnMain.BeginTransaction(IsolationLevel.ReadCommitted)
执行到此处提示cnnmain未打开...的错误信息,而实际上cnnmain已经打开(连接的是access数据库)
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxyctian 2004-10-18
  • 打赏
  • 举报
回复
Dim myConnection As SqlConnection = New SqlConnection("Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;")
myConnection.Open()

' Start a local transaction.
Dim myTrans As SqlTransaction = myConnection.BeginTransaction()

' Enlist the command in the current transaction.
Dim myCommand As SqlCommand = myConnection.CreateCommand()
myCommand.Transaction = myTrans
Try
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')"
myCommand.ExecuteNonQuery()
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')"
myCommand.ExecuteNonQuery()
myTrans.Commit()
Console.WriteLine("Both records are written to database.")
Catch e As Exception
Try
myTrans.Rollback()
Catch ex As SqlException
If Not myTrans.Connection Is Nothing Then
Console.WriteLine("An exception of type " & ex.GetType().ToString() & _

" was encountered while attempting to roll back the transaction.")
End If
End Try
Console.WriteLine("An exception of type " & e.GetType().ToString() & _
"was encountered while inserting the data.")
Console.WriteLine("Neither record was written to database.")
Finally
myConnection.Close()
End Try
連接到SQL 參考一下.
cancersyf 2004-10-03
  • 打赏
  • 举报
回复
是不是db.mdb被其它进程占用了而导致连接打开失败?
brightheroes 2004-10-02
  • 打赏
  • 举报
回复
Function f_ConnectDB()在什么地方调用的?

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧