我想做保险:ASP 数据读取错误

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 16:43:24
<!--conn.asp-->
Set conn = Server.CreateObject("ADODB.Connection")
Provider = "Provider=Microsoft.Jet.OLEDB.4.0;"
DBPath = "Data Source=" & Server.MapPath("database/dbacn.mdb")
conn.Open Provider & DBPath

<!--read.asp-->
<%
Set rs = server.CreateObject("ADODB.RecordSet")
sqlstr = "Select * From supply while flg='save' order by uptime desc"
rs.open sqlstr,conn,1,1
for i=1 to 5
if not rs.eof then
response.write (rs("title"))
rs.movenext
else
exit for
end if
next
%>
错误类型:Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'

/iisHelp/common/500-100.asp,行242

ADODB.Recordset 错误 '800a0bb9'

变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。

/ASPstudy/try3/read.asp,行4

怎么错了?
改了,还是错误。。数据库是有的。。
把WHILE改成WHERE,虽然语句不一样了,但结果一样,错误还是这样。看来错在前面。忘了说了,<!--#include file="conn.asp"-->有这句话!

Server.MapPath("database/dbacn.mdb")
用绝对路径。。
改为:
Server.MapPath("/database/dbacn.mdb") 〕
试试

Select * From supply while flg='save' order by uptime desc

就是这句有问题..while


rs.open sqlstr,conn,1,1
改为
rs.open sqlstr,conn,3,3

试试,基本上可以了!!

sql语句应该是"Select * From supply where flg='save' order by uptime desc"吧
把while改成where试试

flg字段是字符类型吗?

response.write (rs("title")) 改为
response.write (""&rs("title")&"") 试试