真是很奇怪!!!!!!!!!!!!!!

cnhawk386 2007-07-19 02:18:21
Set rsif = cn.Execute("select Count(*) from abc where year='" & Combo1.Text & "' and month='" & Combo2.Text & "'")
MsgBox (rsif.RecordCount)

打个比方:
假设year=2007 month=9
数据库中没有这条记录
msgbox的结果却显示为1 真是很奇怪
哪位大虾指点一下 谢谢了
数据库中的year和month均为文本型
...全文
165 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗷嗷叫的老马 2007-07-20
  • 打赏
  • 举报
回复
哈哈.....
cnhawk386 2007-07-20
  • 打赏
  • 举报
回复
应该是fields(0)

谢谢各位了
vbman2003 2007-07-20
  • 打赏
  • 举报
回复
你首先要清楚一个概念。
不管你表中有没有记录,count都会返回一个值。没有数据返回0。所以用了count后记录集的RecordCount始终等于1
蚜虫说的很清楚了,用了count后,你就不能用RecordCount去判断有没有记录,而是要用field(0),也就是用count返回的值来判断你的查询有没有相应的数据了
vbman2003 2007-07-20
  • 打赏
  • 举报
回复
你首先要清楚一个概念。
不管你表中有没有记录,count都会返回一个值。没有数据返回0。所以用了count后记录集的RecordCount始终等于1
蚜虫说的很清楚了,用了count后,你就不能用RecordCount去判断有没有记录,面是要且field(0),也就是用count返回的值来判断你的查询有没有相应的数据了
cnhawk386 2007-07-20
  • 打赏
  • 举报
回复
那想实现
If rsif.RecordCount = 0 Then
Set rs1 = New ADODB.Recordset
rs1.Open "abc", cn, 1, 3
Set rs1 = cn.Execute("select guigeleibie,guige,beishu from abc")
Else
Set rs1 = New ADODB.Recordset
rs1.Open "def", cn, 1, 3
Set rs1 = cn.Execute("select guigeleibie,guige,beishu,shuA,shuB from def where year='" & Combo1.Text & "' and month='" & Combo2.Text & "'")
End If


我的rsif.RecordCount=0就是("select Count(*) from abc where year='" & Combo1.Text & "' and month='" & Combo2.Text & "'")中没有记录时 应该如何实现呢???
cnhawk386 2007-07-20
  • 打赏
  • 举报
回复
那想实现
If rsif.RecordCount = 0 Then
Set rs1 = New ADODB.Recordset
rs1.Open "abc", cn, 1, 3
Set rs1 = cn.Execute("select guigeleibie,guige,beishu from abc")
Else
Set rs1 = New ADODB.Recordset
rs1.Open "def", cn, 1, 3
Set rs1 = cn.Execute("select guigeleibie,guige,beishu,shuA,shuB from def where year='" & Combo1.Text & "' and month='" & Combo2.Text & "'")
End If


我的rsif.RecordCount=0就是rsif,即("select Count(*) from abc where year='" & Combo1.Text & "' and month='" & Combo2.Text & "'")中没有记录时 应该如何实现呢???
cnhawk386 2007-07-20
  • 打赏
  • 举报
回复
奇怪吗?
不管相符的记录有多少条,按照你这种方法,显示的都是1
应该显示的是field(0),而不是RecordCount????

field(0)也不行啊 运行出错啊
想达到我的这个这个目的 究竟应该用什么属性 谢谢了
clear_zero 2007-07-19
  • 打赏
  • 举报
回复
你这个选法如果有记录
recordcount=1数据就是count的数值
如果没有记录
recordcount=1数据是null
yachong 2007-07-19
  • 打赏
  • 举报
回复
奇怪吗?
不管相符的记录有多少条,按照你这种方法,显示的都是1
应该显示的是field(0),而不是RecordCount

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧