所有新聞群組討論區列表 風禹科技驗證有限公司 Web News Reader

目前新聞群組:tw.bbs.comp.lang.basic

項目 內容
發文者 Jones
日期 2008/2/27 下午 01:01:01
標題 VB6+DAO3.6鎖定問題請教
Message Id A12656A6186448C2867D064D457C8104@c2q6600
內文 'VB6 引用 DAO 3.6 做Access2000 .MDB資料庫新增 '說明: 本程式是每隔500ms新增一筆,連續新增20筆記錄到TABLE1表格內, ' 程式及資料庫放在同一個目錄內,開啟本程式兩次,讓兩隻程式同時執行以模擬多人共用! '狀況1:第1次程式,按下Command1開始新增,在尚未新增完畢之前,第2次程式也按下Command1也去新增, ' 此時第2次程式會出現如下的鎖定訊息: ' 錯誤代號3260.無法更新;目前被在機器'mypc'上的使用者'Admin'鎖住 的錯誤訊息! ' 而且當第1次程式新增完畢之後,第2次電腦還是無法再做新增,還是一直會出現上面的鎖定訊息,等了半個小時還是一樣! '狀況2:如果是第1次程式執行完再執行第2次程式,或者是第2次程式執行完再執行第1次程式,則就不會有鎖定的狀況! '請問: 依據狀況2來推斷,應該是執行完就不會再鎖定了,可是為什麼狀況1當第1次程式執行完之後,第2次程式還是無法新增? ' 想問的是鎖定狀態到底何時會釋放? ' 註:有試過將第1次程式的rs.Close就會釋放,但是實務應用上不能將rs關閉掉再開,所以此法不可以使用! '我的實際測試完整程式碼如下: Option Explicit Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Dim db As Database, rs As Recordset '---------------------------------------------------------------- Private Sub Form_Load() Dim mPATH As String mPATH = App.Path If Right(mPATH, 1) <> "\" Then mPATH = mPATH & "\" End If Set db = DBEngine.Workspaces(0).OpenDatabase(mPATH & "MYDB.MDB", False, False) Set rs = db.OpenRecordset("SELECT * FROM [TABLE1]", dbOpenDynaset, dbSeeChanges, dbOptimistic) '使用樂觀鎖定 End Sub '---------------------------------------------------------------- Private Sub Command1_Click() 30 On Error GoTo hErr 31 Dim i As Integer 32 With rs 33 For i = 1 To 20 34 .AddNew 35 .Fields("KNO") = CStr(i) 36 .Fields("PNO") = CStr(Timer) 37 .Update 38 Command1.Caption = i 39 DoEvents 40 Sleep 500 '每隔500ms新增一筆 41 Next 42 End With 43 Exit Sub 44 hErr: 45 MsgBox Err.Number & ".列" & Erl() & "." & Err.Description End Sub '---------------------------------------------------------------- Private Sub Form_Unload(Cancel As Integer) rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub '---------------------------------------------------------------- -- ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.lang.basic

基本條件

.Net 原始碼 | ASP.NET News Reader Beta 0.2.9

請參閱

個人資料 | 發表新文章 | 回覆 | 回信 | 轉寄 | 同標題 | 搜尋 | 列印 預覽 直接

重要訊息通知

2007/06/21 由於微軟新聞伺服器移除多數新聞群組 (newsgroup),目前遭移除之群組暫時改為隱藏純瀏覽,若狀況已定案時,將會將隱藏中的群組重新調整。[討論]