首先纠正你的一个错误认识:
rs.fields(0).value 是用来返回记录集rs当前位置第一个字段的值,而不是用来返回记录总数;
而rs.RecordCount是真正用来返回记录总数的。
你的SQL语句中用到了COUNT(*) 函数,该函数返回符合查询中指定的搜索条件的行的数目,而不消除重复值。它对每行分别进行计数,包括含有空值的行。
因此,你的rs最终返回的只有一条记录,而该记录的内容是符合 duzheno='ben'条件的记录总数。
因此,用rs.fields(0).value获得的是符合 duzheno='ben'条件的记录总数,而不是rs的总数,rs总数只有1;rs.RecordCount=1是正确的。
你把第二段代码这样改写一下的话,两段代码的执行效果就会一样了:
<%
sql="select tushuno from borrow "
'sql=sql+" where duzheno='ben'"
Set rs1= Server.CreateObject("ADODB.Recordset")
rs1.open sql,conn,1,1
d=rs1.RecordCount
%>
<%=d%>
标签:rs,RecordCount,fields