只要检测记录集的数据数目就可以了,不需要格外的select Count(*) as ### from ###
DIM SC AS ADO.RECORDSET sc.open "select * from tablename where Fieldsname=''" ,cn if sc.eof and sc.bof then msgbox "没有记录存在!!" else '显示记录 endif
Dim rs As ADODB.Recordset Dim mSQL$ mSQL = "select * from tb_my where Id=1" rs.Open mSQL, actconn If rs.EOF Or rs.BOF Then '无记录 Exit Sub Else '..... End If
sc.open "select * from tablename where Fieldsname=''" ,cn
if sc.eof and sc.bof then
msgbox "没有记录存在!!"
else
'显示记录
endif
Dim mSQL$
mSQL = "select * from tb_my where Id=1"
rs.Open mSQL, actconn
If rs.EOF Or rs.BOF Then
'无记录
Exit Sub
Else
'.....
End If
如果使用count,得到的结果>0,那仍然需要再打开一次记录集,开销增大;
但是如果这是个很大的记录集的话,先使用count判断会比较好。
rs.open "select * from mytable where ..."
if rs.recordcount >0 then
....
else
msgbox "无纪录"
endif
rs.close
rs.open "select * from mytable where ..."
if rs.recordcount >0 then
....
else
msgbox "无纪录"
endif
rs.close
都是某些书的误导,说是会错,又没说怎么样错,害得很多人都不敢用
我都用三年了还没发现有错,真是汽油吃力