检查痔疮会看到b吗医生:〖asp〗一段程序,不懂。

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 04:30:28
sub ShowNewsCoTotal()
dim sqlTotal
dim rsTotal
sqlTotal="select Count(*) from Bs_NewsCo"
Set rsTotal= Server.CreateObject("ADODB.Recordset")
rsTotal.open sqlTotal,conn,1,1
if rsTotal.eof and rsTotal.bof then
totalPut=0
response.write "共有 0 条新闻"
else
totalPut=rsTotal(0)
Response.Write "共有 " & totalPut & " 条新闻"
end if
rsTotal.close
set rsTotal=nothing
end sub
有几个地方不理解,
我在网上也没搜到我满意的解释,
1:sqlTotal="select Count(*) from Bs_NewsCo"
2:totalPut=rsTotal(0)
这两句不明白,
我以前见到的是select * from Bs_NewsCo
但没见到这种写法,谁能帮我详细的解释下呢?
totalPut=rsTotal(0)又是做什么呢?

count是sql语法中的一个统计函数,通过count(*)可以统计出当前数据库表中的符合条件的总数。
sqlTotal="select Count(*) from Bs_NewsCo"就是从Bs_NewsCo表中取得所有记录的总数。可以用字段名来替代其中的*号

totalPut=rsTotal(0)
其中rsTotal是ASP中的RECORDSET嘛,而(0)是指取这个RECORDSET当前光标下的第一个值,但是结合上面的SQL语句,由于只取得了COUNT这个值,因此rsTotal的表里面只有一行一列,其坐标为(0,0)。而RECORDSET的默认光标是在第一行的,因此,用rsTotal(0)其实就是取得SQL语句中COUNT的值

sqlTotal="select Count(*) from Bs_NewsCo"
这里的count()函数是计算总的记录条数,也就是说返回的是一个SQL语句的记录总数
totalPut=rsTotal(0)
rsTotal 是你的adodb.recordset 对像 那么rsTotal(0)也就是对像的第一个值,
totalPut=rsTotal(0),很明显,是一个赋值语句

_____________________________________________________
ASP中有很多的学问,我是一个网站开发工程师,有什么其他不明白的地方可以找我
QQ:138628922
祝你好运!

count是sql语法中用来统计的一个函数,通过count(*)可以统计出当前数据库表中的条数

rstotal应该是用来取出当前新闻总条数的用法

count(*)可以统计出当前数据库表中的所有条数(因为没有附加的条件,否则即为满足条件的记录总数.

rstotal就是新闻总条数,很好理解的.

对比下
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sqlTotal,conn,1,1
aa="select title from Bs_NewsCo where id=88"
bb=rs(0) 'bb得出的就是id=88的新闻的标题,这不是一样的道理吗?

count是统计条数的,Total(0)是数据表的第一个字段名!