[VB6 ] Recordset.EOF

看板Visual_Basic作者 (老實樣)時間13年前 (2012/08/07 11:52), 編輯推噓2(209)
留言11則, 4人參與, 最新討論串1/1
Public Function FndSQL(rssql As ADODB.Recordset, rsCNN As ADODB.Connection, sqltext As String) As Boolean 'SQL指令 '依SQL語法搜尋TABLE '為尋找資料,TABLE 不須要作 LOCK 'MsgBox sqltext FndSQL = False On Error GoTo gonext: Set rssql = New ADODB.Recordset rssql.Open sqltext, rsCNN, adOpenKeyset, , adCmdText If Not rssql.EOF Then FndSQL = True gonext: End Function 當我輸入的SQL是有資料的時候 EOF是false 反之找不到是true 為什麼是這樣的布林值啊?? 據我對EOF的了解 rs.BOF ----------------------------- 第1筆 第2筆 第5筆 .... 最後一筆 ------------------------------- rs.EOF 是當我有資料的時候 是移到"最後一筆" 而不是"rs.EOF" 所以才會false 而沒資料的時候 rs.BOF ----------------------------- ------------------------------- rs.EOF 就移到"rs.EOF" 所以才是true 不曉得我這樣的觀念對不對?? 另外註解那邊 '依SQL語法搜尋TABLE '為尋找資料,TABLE 不須要作 LOCK 提到TABLE和LOCK 這是在講甚麼觀念呢?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.249.182.19

08/07 12:00, , 1F
如果沒資料.EOF是True 如果有資料移到最後一筆在下MoveNext
08/07 12:00, 1F

08/07 12:01, , 2F
.EOF也會是True 其他情況就是False
08/07 12:01, 2F

08/07 13:02, , 3F
EOF = True 表示 不可向下移動 BOF則表示不可向上移動
08/07 13:02, 3F

08/07 13:02, , 4F
一開始就eof就相當於沒有資料
08/07 13:02, 4F

08/07 13:04, , 5F
lock的類型是在rs.open 的其中一個參數中決定
08/07 13:04, 5F

08/07 13:05, , 6F
只有在新增修改刪除的時候才需要考慮lock的問題
08/07 13:05, 6F

08/07 14:53, , 7F
他是一個虛擬檔案,用EOF不EOF判斷資料之有無
08/07 14:53, 7F

08/07 14:53, , 8F
那行純粹就是有沒有傳回資料,不要把他當成普通檔案。
08/07 14:53, 8F

08/07 14:54, , 9F
lock是說我要更新某表時把他鎖(lock)住
08/07 14:54, 9F

08/07 14:55, , 10F
鎖上時只有我能更新,避免別人同時更新,做完再打開
08/07 14:55, 10F

08/07 17:39, , 11F
謝謝!!
08/07 17:39, 11F
文章代碼(AID): #1G894N-M (Visual_Basic)