我在VB里面执行SELECT语句,表里面明明有10条记录,但是返回值rs.recordcount却是-1,可是数据是得到的,经查,原来是在表里面没有设置主键的问题.今天又让我碰到了类似的问题,但不是表,而是数据集,具体情况如下:
sql = "SELECT bmdm.id, SUM(zgzh.bqye), SUM(zgzh.fyzc) , COUNT(zgzh.id) FROM zgxx INNER JOIN zgzh ON zgzh.gh = zgxx.gh INNER JOIN bmdm ON zgxx.szbm = LTRIM(bmdm.DWDM) + LTRIM(bmdm.BMDM) WHERE (zgzh.nf = '2003') gROUP BY bmdm.id"
Set rc = getDataset(sql)测试:print rc.recordcount 得到:-1
测试:print rc(1) 得到:12000请问怎么解决此问题
sql = "SELECT bmdm.id, SUM(zgzh.bqye), SUM(zgzh.fyzc) , COUNT(zgzh.id) FROM zgxx INNER JOIN zgzh ON zgzh.gh = zgxx.gh INNER JOIN bmdm ON zgxx.szbm = LTRIM(bmdm.DWDM) + LTRIM(bmdm.BMDM) WHERE (zgzh.nf = '2003') gROUP BY bmdm.id"
Set rc = getDataset(sql)测试:print rc.recordcount 得到:-1
测试:print rc(1) 得到:12000请问怎么解决此问题
解决方案 »
- 快捷方式
- Access库,用INSERT INTO 语句往一个文本型字段里面插入一个字符串,为什么会把其中的"|"给过滤掉呢?
- 这个函数如何写???(急!!!本人只有30分了所以只能给30了)
- 谁能给我提供这个问题的解决方案,绝对高分回报,>500分!
- 急,VB6.0中如何打开"*.db"格式的数据库?
- 高分求教?请高手务必看看
- 请问这条语句该怎么写?
- StartUpPosition
- *********alsen 在这吗?你发给我的只是题目 : (,没有正文呀!!!
- how to send a Handle to WebBrowser's web ?
- 请问如何通过动态得到的表示属性名称的字符串来存取属性值
- 不规则的多边形面积的计算-----我在多媒体那个区问了,不过人好象不多又到这里来
Conn.CursorLocation = adUseClient sql = "SELECT bmdm.id, SUM(zgzh.bqye), SUM(zgzh.fyzc) , COUNT(zgzh.id) FROM zgxx INNER JOIN zgzh ON zgzh.gh = zgxx.gh INNER JOIN bmdm ON zgxx.szbm = LTRIM(bmdm.DWDM) + LTRIM(bmdm.BMDM) WHERE (zgzh.nf = '2003') gROUP BY bmdm.id"rs.open sql,COnn,3,3
msgbox rc.recordcount
rs.CursorLocation = adUseClient当然设置连接游标位置也可以,记录集会继承这一设置
前提是对其他记录集没有影响~
这一句,必须放在rs.open前面
rs.movelast
rs.movefirst
msgbox rc.recordcount