ASP SQL [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。

程序目的在于实现在一个论坛分类下显示从属于本分类的版面。其中,第一个函数ShowBBSSort实现论坛分类的显示,第二个函数ShowBBSList实现论坛分类下版面的显示... 程序目的在于实现在一个论坛分类下显示从属于本分类的版面。
其中,
第一个函数ShowBBSSort实现论坛分类的显示,
第二个函数ShowBBSList实现论坛分类下版面的显示。
数据库中版面表boards和论坛分类表sorts通过字段sortid关联。
在第一个函数中 定义m=rs(“sortid”)
在第二函数中 调用 m 如 sortid=m
具体调用:
Dim rs
set rs=conn.execute ("select * from boards where sortid=m order by orderid asc")
浏览器给出如下提示:
[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
请高人帮忙。

以下为部分代码,供参考:
<%Sub ShowBBSSort
Dim rs,m
set rs=conn.execute ("select * from sorts order by sortorder asc")
m=rs("sortid")
while not rs.eof
If Isempty(Application("walkman_ann_num_"&rs("sortID"))) Then
Application.Lock
Application("walkman_ann_num_"&rs("sortID"))=0
Application("walkman_ann_time_"&rs("sortID"))=now()
Application.UnLock
End If
If datediff("d",Application("walkman_ann_time_"&rs("sortID")),now())<>0 Then
Application.Lock
Application("walkman_ann_num_"&rs("sortID"))=0
Application("walkman_ann_time_"&rs("sortID"))=now()
Application.UnLock
End IF
%>
<table width="100%" border="1" align="center" cellpadding="1" cellspacing="0" bordercolor="#BFBFBF" bgcolor="#FFFFFF" class="liu">
<tr>
<td colspan="5" class="blu">+ <%=rs("sortname")%></td>
</tr>

<% Call ShowBBSList%>

</table>
<%
Rs.movenext
Response.Flush()
Wend
Rs.close
set rs=nothing
end Sub
%>

<%Sub ShowBBSList
Dim rs
set rs=conn.execute ("select * from boards where sortid=m order by orderid asc")
while not rs.eof
If Isempty(Application("walkman_ann_num_"&rs("BoardID"))) Then
Application.Lock
Application("walkman_ann_num_"&rs("BoardID"))=0
Application("walkman_ann_time_"&rs("BoardID"))=now()
Application.UnLock
End If
If datediff("d",Application("walkman_ann_time_"&rs("BoardID")),now())<>0 Then
Application.Lock
Application("walkman_ann_num_"&rs("BoardID"))=0
Application("walkman_ann_time_"&rs("BoardID"))=now()
Application.UnLock
End IF
%>
展开
 我来答
h1j2h7
2006-08-21 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:310万
展开全部
<%
Sub ShowBBSSort
Dim rs,m
m=10
End sub

Call ShowBBSSort
Sub ShowBBSList
Response.write CStr(m)
End Sub

Call ShowBBSList
%>
上面是我做的测试,证明你的m传不到ShowBBSList中。
这是其一。
其二,不管m能不能传到,下面这句是错误的:
set rs=conn.execute ("select * from boards where sortid=m order by orderid asc")
应该写成:
set rs=conn.execute ("select * from boards where sortid="&m&" order by orderid asc")
因为m是做为一个变量,而不是一个字符串里面的。
因此你应该修改的是:把m做为全局变量,让sub ShowBBSList和Sub ShowBBSSort都能调用到,例如我把例子改成下面的就可以显示:
<%
Dim m'全局变量

Sub ShowBBSSort

m=10
End sub

Call ShowBBSSort
Sub ShowBBSList

Response.write "mmm"&m&"vvv"
End Sub

Call ShowBBSList
%>
通过我写的两个事例,你应该可以领会到你的错误,如果你还是不明白,可以加我QQ23161129,请注明 “白度知道”

参考资料: http://www.jxqc.net

★不懂就问★1e63b
2006-08-28 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:388
采纳率:25%
帮助的人:128万
展开全部
以下为部分代码,供参考:
<%Sub ShowBBSSort
Dim rs,m
set rs=conn.execute ("select * from sorts order by sortorder asc")
m=rs("sortid")
while not rs.eof
If Isempty(Application("walkman_ann_num_"&rs("sortID"))) Then
Application.Lock
Application("walkman_ann_num_"&rs("sortID"))=0
Application("walkman_ann_time_"&rs("sortID"))=now()
Application.UnLock
End If
If datediff("d",Application("walkman_ann_time_"&rs("sortID")),now())<>0 Then
Application.Lock
Application("walkman_ann_num_"&rs("sortID"))=0
Application("walkman_ann_time_"&rs("sortID"))=now()
Application.UnLock
End IF
%>
<table width="100%" border="1" align="center" cellpadding="1" cellspacing="0" bordercolor="#BFBFBF" bgcolor="#FFFFFF" class="liu">
<tr>
<td colspan="5" class="blu">+ <%=rs("sortname")%></td>
</tr>

<% Call ShowBBSList%>

</table>
<%
Rs.movenext
Response.Flush()
Wend
Rs.close
set rs=nothing
end Sub
%>

<%Sub ShowBBSList
Dim rs
set rs=conn.execute ("select * from boards where sortid=m order by orderid asc")
while not rs.eof
If Isempty(Application("walkman_ann_num_"&rs("BoardID"))) Then
Application.Lock
Application("walkman_ann_num_"&rs("BoardID"))=0
Application("walkman_ann_time_"&rs("BoardID"))=now()
Application.UnLock
End If
If datediff("d",Application("walkman_ann_time_"&rs("BoardID")),now())<>0 Then
Application.Lock
Application("walkman_ann_num_"&rs("BoardID"))=0
Application("walkman_ann_time_"&rs("BoardID"))=now()
Application.UnLock
End IF
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式