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
%> 展开
其中,
第一个函数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
%> 展开
展开全部
<%
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,请注明 “白度知道”
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
展开全部
以下为部分代码,供参考:
<%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
<%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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询