| 項目 |
內容 |
| 發文者 |
Jones |
| 日期 |
2008/2/27 下午 01:01:01 |
| 標題 |
VB6+DAO3.6鎖定問題請教 |
| 檔頭 |
220 75887 <A12656A6186448C2867D064D457C8104@c2q6600> article Path: netnews!not-for-mail From: "Jones" <someone@microsoft.com.x> Newsgroups: tw.bbs.comp.lang.basic Subject: VB6+DAO3.6鎖定問題請教 Date: Wed, 27 Feb 2008 13:01:01 +0800 Organization: HISDT 風禹科技驗證有限公司 Lines: 56 Sender: "59.121.0.172" <admin@tlcheng.twbbs.org> Message-ID: <A12656A6186448C2867D064D457C8104@c2q6600> NNTP-Posting-Host: 59-127-4-39.hinet-ip.hinet.net Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 8bit X-Trace: netnews.hinet.net 1204088462 12488 59.127.4.39 (27 Feb 2008 05:01:02 GMT) X-Complaints-To: usenet@HiNetnews.hinet.net NNTP-Posting-Date: Wed, 27 Feb 2008 05:01:02 +0000 (UTC) thread-index: Ach4/b+E/ILwOqKmSkeY6AzhC3MD2A== Thread-Topic: VB6+DAO3.6鎖定問題請教 X-Newsreader: Microsoft CDO for Windows 2000 Content-Class: urn:content-classes:message Importance: normal Priority: normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.4133 Xref: netnews tw.bbs.comp.lang.basic:75887
|
| 內文 |
'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),目前遭移除之群組暫時改為隱藏純瀏覽,若狀況已定案時,將會將隱藏中的群組重新調整。[討論]