rs.Open "select [Update Flag ] from [TimeRestrictionUpdate] where [Door MAC Address]='" + MAC + "'", cnn, adOpenDynamic, adLockBatchOptimisticrs.MoveFirst
Do While Not rs.EOF() N = N + 1
rs.MoveNext
Loop我想知道数据库中有多少条记录,当有数据时正常,可当表中没有一条记录时,会成一个死循环?该怎么改这段代码?
Do While Not rs.EOF() N = N + 1
rs.MoveNext
Loop我想知道数据库中有多少条记录,当有数据时正常,可当表中没有一条记录时,会成一个死循环?该怎么改这段代码?
解决方案 »
- VB代码需要打印数据到网络打印机,本地调试正常,但网络打印时没有反映,不知道输出到哪里? 急!!!
- 关于读INI的问题(在线等候)
- 如何获取服务器地址(内详)
- 什么直接打印PictureBox里面的内容?
- 一个简单的问题
- To crystal_heart(笑看风云)大虾:能不能帮我写一个DTS实现两个数据库中表的数据传输的例子!(VB代码,不是DTC生成的!)谢谢!
- datareport
- 急急急:菜鸟初次做项目,特邀请合作者!
- ★150元 求获得winxp,windows2003,vista唯一的硬件信息
- 怎样用VB打开WORD和EXCEL
- 如何用 VB 弹出 “数据连接属性设置”,不用 DataGrid 控件,用代码实现?
- ??请问如何解决”DVD声道(音频)切换“问题??
Do Until rs.EOF()
...
Loop
或不用上面的笨办法,直接用以下静态游标打开判断
"Select * From Table", cnn, adOpenStatic ,adLockOptimistic
rs.recordcount即为数据条数
也可用
"Select Count(*) From Table", cnn, adOpenDynamic,adLockOptimistic
返回的数也是记录条数。
判断记录数,如果大于0,则rs.MoveFirst
接着做循环 do while not rs.eof即:"Select Count(*) From Table", cnn, adOpenDynamic,adLockOptimistic“
if 记录数>0 then
rs.MoveFirst
do while not rs.eof
……
loop
end if
if 记录数>0 then
rs.MoveFirst
do while not rs.eof
……
rs.MoveNext
loop
end if
if not (rs.eof and rs.bof) then
rs.MoveFirst
Do While Not rs.EOF() N = N + 1
rs.MoveNext
Loop
end if
标准写法
if not rs.eof and not rst.bof then
rs.MoveFirst
Do While Not rs.EOF() N = N + 1
rs.MoveNext
Loop
else
msgbox "没有记录"
end if
if rs.eof = true then
exit sub
else
……