火影积分赛最好阵容:ASP程序问题,请教高手.

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 23:01:07
<%@ language=VBScript %>
<% if Request.ServerVariables("http_method")="GET" then
set conn=server.CreateObject("adodb.connection")
connstr="dbq="&server.MapPath("diaocha.mdb")&";driver={microsoft access driver (*.mdb)};"
conn.open connstr
set rec=server.CreateObject("adodb.recordset")
sqlstr="select * from userinfor where user_name='"& request.form("user_name")& "'"
set rec=conn.execute(sqlstr)
%>

<html>
<head>
..................................
<%=rec("user_name") %>
<%=rec("user_sex") %>
.....................
<end if>
</head>
</html>

<% rec.close %>
-------------------------------------------------------------
HTTP 错误 500.100 - 内部服务器错误 - ASP 错误
Internet 信息服务

错误类型:
ADODB.Field (0x80020009)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/123/diaocha/viewda.asp

------------------------------------------------------------
数据库中数据没问题,为什么出现这种问题呢?

sqlstr=\"select * from userinfor where user_name=\'\"& request.form(\"user_name\")& \"\'\" 这句得到的纪录数量为0。
可能是user_name传入有误,可以response.write sqlstr确定一下。

另外,你的程序缺乏必要的处理步骤。最好如下写:
set rec=conn.execute(sqlstr)
if rec.bof and rec.eof then
response.write \"no record\"
response.end
elseif
...

把set rec=conn.execute(sqlstr)改成rec.open sqlstr,conn,1,3
试试