为何我写的 connection.Execute 不能查询到数据?

来源:百度知道 编辑:UC知道 时间:2024/07/08 20:24:31
请高人帮忙看看,为何我用
rs=createobject("adodb.recordset") 方式能查看数据,而改用 connection.Execute (sql) 方式却不能查看数据?(连接返回值为 -1)

<%
db="DB/test.mdb"
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set Connection=server.createobject("ADODB.CONNECTION")
Connection.open connstr

Dim sql,rs
sql="select * from ArticleClass"
Set rs=Connection.Execute (sql)
'Set rs=server.createobject("adodb.recordset") '这个能查询到数据
'rs.open sql,Connection,1,1 '这个能查询到数据
response.write (sql&"<p>") '测试sql文本没有问题
If rs.recordcount<0 Then
response.write ("Connect error!!!")
Else

For i=1 To rs.recordcount
response.write (i&" "&rs(0).value&" "&rs(1).value&"<

getrows这篇文章确实说得非常详细。只是如果数据不太多的话,你也可以不用把记录往临时表里塞,直接一个DO WHILE LOOP 也是一样的效果

'For i=1 To rs.recordcount
do while not rs.eof
response.write (i&" "&rs(0).value&" "&rs(1).value&"<br>")
rs.movenext
loop
'Next

我一般在CONN.EXECUTE后习惯用这种方法
而如果非要得到记录条件的时候也可以在里面写个i=i+1来得到记录数。
都是解决的方法。看各人的习惯