ASP问题:关于删除二级目录的问题

设计一个档案管理系统,三级结构是:案卷-分案卷-档案案卷表ClassDossier有案卷号ClasssID,案卷名称ClassTitle类型分别为:int,varchar... 设计一个档案管理系统,三级结构是:案卷-分案卷-档案
案卷表ClassDossier有案卷号ClasssID,案卷名称ClassTitle 类型分别为:int, varchar
分案卷表SubDossier有案卷号ClasssID,分案卷号SubID,分案卷名称SubTitle 类型分别为:int,int, varchar
问题是:
在没有建立表之间关联的情况下
前一页通过<td ><a href="SubDossierManage.asp?classid=<%=Rs("classid")%>"><%=Rs("classtitle")%>
</td>
将一级目录:案卷号classid传递给本页面,SubID则是从表SubDossier读出来的
问:
<%
Dim classid
classid=Request("classid")
Set Rs1 = Server.CreateObject("ADODB.RecordSet")
Sql1="Select * From SubDossier where ClassID="&ClassID&" Order By SubID "
Rs1.Open Sql1,conn,3,3
If Rs1.Eof And Rs1.Bof Then
Response.Write "<tr><td height='30' >该案卷还没有分案卷!"
Response.Write "</td></tr>"
Else
Do While not Rs1.Eof
%>

<tr bgcolor="#FFFFFF">
<td> <%
Response.Write Rs1("SubTitle")
%>
</td>
<td >
<a href="javascript:if(window.confirm('你确实要删除此项记录吗?') == true){window.location = 'SubDossierManage.asp?action=Del&classid=<%=Rs1("classid")%>&SubID=<%=Rs1("SubID")%>';}"><img src="Images/delete.jpg">删除</a>
</td>
</tr>
<% Rs1.MoveNext
Loop
%>
<%End If
Rs1.Close
Set Rs1=nothing
%>

<%
classid=Request("classid")
SubID=Request("SubID")
If Request("action")="Del" Then
Call Del()
End If
%>

<% '删除分案卷版块
Sub Del()
Set Rs6 = Server.CreateObject("ADODB.Recordset")
Sql6="Select * From SubDossier Where classid="&classid&" and SubID="&SubID
Rs6.Open Sql6,conn,3,3
Rs6.Delete
Rs6.Update
Rs6.Close
Set Rs6=nothing
Response.Redirect "SubDossierManage.asp"
End Sub
%>

问:能正常显示,能正常删除,但删除后报错,错误位置:
Sql1="Select * From SubDossier where ClassID="&ClassID&" Order By SubID "
Rs1.Open Sql1,conn,3,3
错误是:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'Order' 附近有语法错误。

另外补充说明Classid是案卷编号从上一页面传递过来的,SubID是分案卷编号,从表中读出来的。
展开
 我来答
djiz
2008-10-29 · TA获得超过337个赞
知道小有建树答主
回答量:508
采纳率:0%
帮助的人:295万
展开全部
<% '删除分案卷版块
Sub Del()
Set Rs6 = Server.CreateObject("ADODB.Recordset")
Sql6="Select * From SubDossier Where classid="&classid&" and SubID="&SubID
Rs6.Open Sql6,conn,3,3
Rs6.Delete
Rs6.Update
Rs6.Close
Set Rs6=nothing
Response.Redirect "SubDossierManage.asp" ''这里有错 你已经删除这条记录了 就不应该再返回这个页面了 , 要是返回这里 应该传递 classid过来
End Sub
%>
Response.Redirect "SubDossierManage.asp?classid="&classid
zyqabca
2008-10-29 · 贡献了超过136个回答
知道答主
回答量:136
采纳率:0%
帮助的人:41.2万
展开全部
你的记录已经删除就没有这条记录了~从数据库读取当然出现错误。

另外,你是不是数据库中只有这一条数据?或者该“分案卷”只有一条记录。你删除后记录为空?

另外~你可以做成
if rs.eof and rs.bof then
没有该条记录
end if

这样容下错。或者用

On Error Resume Next
中间加入你的ASP代码

if err.number<>0 then
出错过以后执行的代码
end if
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式