ASP dreamweaver

来源:百度知道 编辑:UC知道 时间:2024/06/27 05:56:05
<% dim conn
set conn=server.createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mapPath("db1.mdb")
dim rs,sql
set rs=server.createobject("adodb.recordset")
sql="select * from lun where subject ='" & request("subject") & "'"
rs.open sql,conn,1,2

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>

接收不到参数吧。request("subject")

代码中存在记录集为空但仍然执行的漏洞

看来你需要了解一下EOF和BOF是干什么用的,我给你些资料你看看:

BOF指示当前记录的位置在 Recordset 对象的第一个记录之前。
EOF指示当前记录的位置在 Recordset 对象的最后一个记录之后。

使用 BOF 和 EOF 属性确定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。
如果当前记录位于第一个记录之前,则 BOF 属性返回 True ()。
如果当前记录是第一个记录或位于第一个记录之后,则返回 False。
如果当前记录位于最后一个记录之后,则 EOF 属性返回 True。
如果当前记录是最后一个记录或位于最后一个记录之前,则返回False。
如果 BOF 或 EOF 属性为 True,则没有当前记录。

如果打开不包含记录的 Recordset 对象,则 BOF 和 EOF 属性被设置为 True,Recordset 对象的 RecordCount 属性设置为零。当打开至少包含一个记录的 Recordset 对象时,第一个记录是当前记录,并且 BOF 和 EOF 属性均为 False。

如果删除 Recordset 对象中保留的最后一个记录,BOF 和 EOF 属性将保持 False,直到重新定位当前记录为止。

一、可能你数据库相应字段没有内容
二、数据库中没有相应字段
请仔细检查

朋友你也没用循环语句呢。
应该改成如下:

<% dim conn
set conn=server.createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mapPath("db1.md