我这个代码错在哪儿了?

pretty_yang 2004-12-05 03:25:32
index.asp错误详细内容为:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
/home/bbs/TMP5n8e488neb.asp, 第 37 行
代码如下:
<% option explicit%>
<!--#Include file="conn.asp"-->
<!--#Include file="function.asp"-->
<html>

<head>
<title>论坛</title>

</head>
<body>
<%
dim user_name
If Session("user_name")<>"" Then
user_name=Session("user_name")
Else
response.write"你还未<a href='login.asp'>登陆</a><br>"
response.write"如不是注册用户,请先<a href='add_user.asp'>注册</a>"
End If
%>


<h2 align="center">讨论天地</h2>
<center>
<table border="0" bordercolor="#8800FF" width="90%" cellspacing="5">
<tr bgcolor="#CCFFFF" align="center">
<td width="7%">序号</td>
<td width="43%">主题</td>
<td width="8%">回复</td>
<td width="8%">点击</td>
<td width="8%">发言人</td>
<td width="26%">发言时间</td>
</tr>
<%
Dim sql,rs
'因为要分页显示查询结果,所以用下面方法创建一个recordset对象
sql="Select * From art Where layer=1 Order By submit_date desc"
db.Execute(strsql)
Set rs=Server.CreateObject("ADODB.Recordset")

rs.Open sql,db,1 '请注意创建recordset对象的方法
If Not rs.Bof And Not rs.Eof Then
'以下主要为了分页显示
Dim page_size '声明每页多少条记录变量
Dim page_no '声明当前是第几页变量
Dim page_total '声明总页数变量
page_size=10 '每页显示10条记录
If Request("page_no")="" Then '如果第一次打开,则page_no为1,否则,
page_no=1 '由传回的参数决定
Else
page_no=cint(Request("page_no"))
End If
Session("page_no")=page_no '将page_no存入session,以备其它页返回时用
rs.PageSize=page_size '设置每页多少条记录
page_total=rs.PageCount '返回总页数
rs.AbsolutePage=page_no '设置当前显示第几页
'下面一段显示当前页的所有记录
Dim I,J
I=0 '该变量用来输出序号
J=page_size '该变量用来控制显示当前页记录
Do While Not rs.Eof And J>0 '循环直到当前页结束或文件结尾
I=I+1
J=J-1
%>
<tr bgcolor="#FFFFCC" align="center">
<td><% =(page_no-1)*page_size+I %>
<td><a href="count_hits.asp?art_id=<%=rs("art_id")%>">
<%=rs("title")%></a></td>
<td><%=rs("child")%></td>
<td><%=rs("hits")%></td>
<td><%=rs("user_name")%></td>
<td><%=rs("submit_date")%></td>
</tr>
<%
rs.MoveNext
Loop
End If
%>
</table>
<a href="announce.asp">发表新文章</a>    
<%
'调用子程序,写出有关各页的链接信息
Call select_page(page_no,page_total)
%>
</center>
</body>
</html>
下面是我的conn.asp
<%
Dim db
set db=server.createobject("Adodb.Connection")
db.open "Dbq=" & server.mappath("bbs.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
%>
应该如何修改??
...全文
111 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
angelyujun 2004-12-05
用response.write(sql)把那条sql语句输出来看一看什么错误!
回复
纪俊 2004-12-05
还有rs.Open sql,db,1 ->rs.Open sql,db,1,1或者rs.Open sql,db,1,3看看
回复
纪俊 2004-12-05
<%
Dim db
set db=server.createobject("Adodb.Connection")
db.open "Dbq=" & server.mappath("bbs.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
%>

改为:
<%
dim db
set db = Server.CreateObject("ADODB.Connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("bbs.mdb")
%>
看看

你用的是旧引擎
/////////////////////////////////////////////////////////////////////
欢迎大家使用编程文档手册V3.5,编程辅助类软件
下载:http://www.skycn.com/soft/11906.html
回复
pretty_yang 2004-12-05
都按大家的方法做了还是不行,提示错误是:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
回复
sun94510451 2004-12-05
连接数据库:
<%
dim db
dim dbstr
dbstr="DBQ="+server.mappath("bbs.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set db=server.createobject("ADODB.CONNECTION")
conn.open dbstr
%>
回复
sun94510451 2004-12-05
Dim sql,rs
Set rs=Server.CreateObject("ADODB.Recordset")
sql="Select * From art Where layer=1 Order By submit_date desc"
rs.open sql,db,1,1
回复
hedongyang 2004-12-05
将37行的db.Execute(strsql) 这个去掉。。。
将40行改成这样:rs.Open sql,db,1,1

要在后面加一个逗号和1
回复
NewBody 2004-12-05
/home/bbs/TMP5n8e488neb.asp, 第 37 行
--------------------------------------

没找到你的第37行!
另,请注意你是否在执行"在浏览器中预览"功能?或许有这有关.
回复
sdts 2004-12-05
不是显示错误是 “参数不足”吗 找到那一行看有没有什么少了参数啊
回复
lienzhu 2004-12-05
把db.Execute(strsql)注释掉,好像没用
回复
lienzhu 2004-12-05
数据库换成这个看看
<%
Dim db
set db=server.createobject("Adodb.Connection")
db.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("bbs.mdb")
%>
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-12-05 03:25
社区公告
暂无公告