这样就没问题rsopen sqlstr,conn,3,2
这样就有问题rsopen sqlstr,conn,1,2
因为conn后第一个数字是1表示指针只能往前,3表示自由指针
使用RecordCount属性可确定Recordset对象中记录的数目。ADO无法确定记录数时,或者如果提供者或游标类型不支持RecordCount,则该属性返回–1。读已关闭的Recordset上的RecordCount属性将产生错误。
如果Recordset对象支持近似定位或书签(即Supports(adApproxPosition)或Supports(adBookmark)各自返回True),不管是否完全填充该值,该值将为Recordset中记录的精确数目。如果Recordset对象不支持近似定位,该属性可能由于必须对所有记录进行检索和计数以返回精确RecordCount值而严重消耗资源。
Recordset对象的游标类型会影响是否能够确定记录的数目。对仅向前游标,RecordCount属性将返回-1,对静态或键集游标返回实际计数,对动态游标取决于数据源返回-1或实际计数。
分类: 电脑/网络
问题描述:
我在ASP中用rstRecordCount,得到我的数据表的行数,实在我的数据表sutdent有7行,可是得到用rstRecordCount 得到的值却是"-1"这是为什么啊请高手指点!谢谢!!!
----------源代码------------
<%@language=vbscript%>
<%
dim n,sql,rst
path="data/studentinfomdb"
set n=createobject("ADODBconnection")
set rst=createobject("adodbrecordset")
nconnectionString= "PROVIDER=Microsoftjetoledb40;Data source=" & serverMapPath(path)
nopen
sql="select from student"
rstcursortype =adOpenStatic
rstopen sql,n
%>
<p>在ACCESS数据库studentinfo表中包含<% =rstrecordcount%>行记录</P>
<% rstclose %>
----------------------------------
------------显示结果---------------
在ACCESS数据库studentinfo表中包含-1行记录
----------------------------------
请教各位,这是为什么啊! 谢谢了!!!
解析:
把rstcursortype =adOpenStatic删掉,
用rstopen sql,Cnn,3,3
去试试。
首先纠正你的一个错误认识:
rsfields(0)value 是用来返回记录集rs当前位置第一个字段的值,而不是用来返回记录总数;
而rsRecordCount是真正用来返回记录总数的。
你的SQL语句中用到了COUNT() 函数,该函数返回符合查询中指定的搜索条件的行的数目,而不消除重复值。它对每行分别进行计数,包括含有空值的行。
因此,你的rs最终返回的只有一条记录,而该记录的内容是符合 duzheno='ben'条件的记录总数。
因此,用rsfields(0)value获得的是符合 duzheno='ben'条件的记录总数,而不是rs的总数,rs总数只有1;rsRecordCount=1是正确的。
你把第二段代码这样改写一下的话,两段代码的执行效果就会一样了:
<%
sql="select tushuno from borrow "
'sql=sql+" where duzheno='ben'"
Set rs1= ServerCreateObject("ADODBRecordset")
rs1open sql,conn,1,1
d=rs1RecordCount
%>
<%=d%>
其实这不是Delphi的bug,在一次查询显示中,如果数据记录数目大于能显示的数目(DBGrid)时,就会Queryrecordcount=-1,这是数据并没有完全载入本地,当程序 *** 作数据时,才会继续从数据库载入;所以这只是Delphi数据查询的优化。要得到准确的记录数你可以采用使用两种方法:1。Querylast;Queryfirst,然后Queryrecordcount就可以得到正确值(数据很大时这样做效率很低);2。新增一条查询语句,用以统计记录数目。
以上就是关于asp中rs.recordcount 返回值总是为-1全部的内容,包括:asp中rs.recordcount 返回值总是为-1、我在ASP中用rst.RecordCount时的问题!!急!!、关于rs.RecordCount和rs.fields(0).value等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)