ASP:这样传递参数正确吗?

来源:百度知道 编辑:UC知道 时间:2024/06/22 08:27:24
设计一个档案管理系统,三级结构是:案卷-分案卷-档案
案卷表ClassDossier有案卷号ClasssID,案卷名称ClassTitle 类型分别为:int, varchar
分案卷表SubDossier有案卷号ClasssID,分案卷号SubID,分案卷名称SubTitle 类型分别为:int,int, varchar
问题是:
在没有建立表之间关联的情况下
前一页通过<a href="ArchivesManage.asp?classid=<%=Rs1("classid")%>&SubID<%=Rs1("SubID")%>
将一级目录:案卷号classid、SubID传递给本页面
问:

<%
Dim classid
Dim SubID
classid=Request("classid")
SubID=Request("SubID")
Set Rs = Server.CreateObject("ADODB.RecordSet")
Sql="Select * From ArchivesContent Where classid="&classid&" and SubID="&SubID
Rs.Open Sql,conn,3,3
%>

<td height="30" >
<% If Len(Rs("ArchivesName"))>40 Then
Response.Write Left(Rs("ArchivesName"),38) & "…"
Else
Response.Write Rs("ArchivesName")
End If
%>

参数传的没有问题 如果你用的sql库 在sql语句里把两个值 用单引号括起来试试。access的话 这样试试

Sql="Select * From ArchivesContent Where classid="&cint(classid)&" and SubID="&cint(SubID)

另外 难道错误行 不是 Rs.Open Sql,conn,3,3 ??
如果不是这行报错的话 就不是sql语句的问题

Sql="Select * From ArchivesContent Where classid='"&classid&"' and SubID='"&SubID"'"

Sql="Select * From ArchivesContent Where classid='"&classid&"' and SubID="&SubID

错误代码要贴出来,供诊断。
首先,<a href="ArchivesManage.asp?classid=<%=Rs1("classid")%>&SubID<%=Rs1("SubID")%>
少了一个“=”号
改为:
<a href="ArchivesManage.asp?classid=<%=Rs1("classid")%>&SubID=<%=Rs1("SubID")%>

classid和SubID在数据库里的字段类型是数字还是字符?
估计设置的是字符,这样,改为:
Sql="Select * From ArchivesContent Where classid='"&classid&"' and SubID='"&SubID"'&q