以下是我的程序,测试发现当我的记录数100多条时,会出现“行数不可用!-1“的情况,但当记录为70条至2条时,xlsRowNum有正确的行数,大家帮帮忙,这是为什么?是数据库问题还是我的程序问题,难道要我自己放着RowCount属性不用自己写个行数算法么?
……
Set Rs = cn.OpenResultset(sql_str, 1, 4, 64) 'sql_str为查询语句,肯定有对应记录
If Rs.EOF Then
MsgBox "没有查询到满足的数据!", vbCritical + vbOKOnly, "系统提示"
Exit Sub
End If
With Rs
.MoveLast
xlsRowNum = .RowCount '记录总数
Debug.Print .RowCount
If xlsRowNum < 1 Then
MsgBox "行数不可用!" & xlsRowNum, vbCritical + vbOKOnly, "系统提示"
Exit Sub
End If
……
……
Set Rs = cn.OpenResultset(sql_str, 1, 4, 64) 'sql_str为查询语句,肯定有对应记录
If Rs.EOF Then
MsgBox "没有查询到满足的数据!", vbCritical + vbOKOnly, "系统提示"
Exit Sub
End If
With Rs
.MoveLast
xlsRowNum = .RowCount '记录总数
Debug.Print .RowCount
If xlsRowNum < 1 Then
MsgBox "行数不可用!" & xlsRowNum, vbCritical + vbOKOnly, "系统提示"
Exit Sub
End If
……
Rs.CursorLocation = adUseClient这样绝对不会有问题的了。试一下吧~~对了,楼主记得给分哦!
cn.open "..."
rstZhuCe.MoveLast '记录集中的移动方法,指针移动到记录集的末尾
这条命令,在记录为空时,常报错。
我想问,是不是也缺少了上面的语句?
为什么这样一定行啊,是什么原因哦!学习!天中天说的也没错,我也碰到过!
想象一下假如数据库(sql server2000)是你开发的,你要怎么样解决多用户同时访问的效率及冲突。
如果每个客户端访问,直接取服务器端游标,数据服务器还不累死。