0
我正在使用VB6應用程序。哪個使用MSAccess數據庫。現在我正在改變數據庫訪問sql服務器。從MSAccess獲取/更新數據應用程序正在使用DAO對象。所以現在我也嘗試使用DAO方法連接SQL Server。現在我可以連接數據庫並能夠獲取數據。但是,當我試圖編輯記錄它給出的錯誤「運行時錯誤'3027'無法更新。數據庫或對象是隻讀」。我顯示我的代碼在這裏:如何使用DAO連接與SQL服務器更新VB6中的記錄集
Public LSWs As Workspace, LSDb As Database
Dim lsConnString As String
Dim l0 As Recordset, SQL0 As String
Dim lehReturn As Integer, retrycount As Integer
lsConnString = "ODBC;DRIVER=SQL Server;SERVER=SERVERName;DATABASE=" & DBname & ";APP=Visual Basic;UID=UID;PWD=PWD"
Set LSWs = DBEngine.Workspaces(0)
Set LSDb = LSWs.OpenDatabase(DBname, dbDriverNoPrompt, True, lsConnString)
retrycount = 0
SQL0 = "select * from schedule_hdr where status = '" & Trim(PCName) & "'"
Set l0 = LSDb.OpenRecordset(SQL0, dbOpenDynaset, dbSeeChanges, adLockPessimistic)
Do While Not (l0.EOF)
LSWs.BeginTrans
l0.Edit
l0!status = "R"
l0.Update
LSWs.CommitTrans
l0.MoveNext
Loop
l0.Close
,但它給錯誤的l0.Edit這行代碼 給人錯誤 「運行時錯誤‘3027’不能更新數據庫或對象是隻讀 任何幫助。 !或suggesion請回復
提前感謝!
事務'LSWs.BeginTrans'真的有必要嗎?您一次只更新一條記錄,因此交易不會在那裏做任何有用的事情。是否有可能您的ODBC連接是隻讀的? – Martin 2012-04-18 13:08:11