作者s66449 (老实样)
看板Visual_Basic
标题[VB6 ] Recordset.EOF
时间Tue Aug 7 11:52:53 2012
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
1F:推 ClubT:如果没资料.EOF是True 如果有资料移到最後一笔在下MoveNext 08/07 12:00
2F:→ ClubT:.EOF也会是True 其他情况就是False 08/07 12:01
3F:推 fumizuki:EOF = True 表示 不可向下移动 BOF则表示不可向上移动 08/07 13:02
4F:→ fumizuki:一开始就eof就相当於没有资料 08/07 13:02
5F:→ fumizuki:lock的类型是在rs.open 的其中一个参数中决定 08/07 13:04
6F:→ fumizuki:只有在新增修改删除的时候才需要考虑lock的问题 08/07 13:05
7F:→ MOONRAKER:他是一个虚拟档案,用EOF不EOF判断资料之有无 08/07 14:53
8F:→ MOONRAKER:那行纯粹就是有没有传回资料,不要把他当成普通档案。 08/07 14:53
9F:→ MOONRAKER:lock是说我要更新某表时把他锁(lock)住 08/07 14:54
10F:→ MOONRAKER:锁上时只有我能更新,避免别人同时更新,做完再打开 08/07 14:55
11F:→ s66449:谢谢!! 08/07 17:39