当 Result 不是那两个值时 Rs就没被打开 是不是?
最好把
rs.update
rs.close
分别放到 IF 块里面去
把rs.update那三行分别放到那两个块后面
<%
sub NewsEdit()
dim Action,rsCheckAdd,rs,sql
Action=request.QueryString("Action")
if Action="SaveEdit" then
set rs = server.createobject("adodb.recordset")
if len(trim(request.Form("NewsName")))<1 then
response.write ("<script language=javascript> alert('新闻标题为必填项目!');history.back(-1);</script>")
response.end
end if
if Result="Add" then
sql="select * from NwebCn_News"
rs.open sql,conn,1,3
rs.addnew
rs("NewsName")=trim(Request.Form("NewsName"))
rs("Content")=Request.Form("Content")
GroupIdName=split(Request.Form("GroupID"),"┎╂┚")
rs("GroupID")=GroupIdName(0)
rs("Exclusive")=trim(Request.Form("Exclusive"))
if Request.Form("ChildFlag")=1 then
rs("ChildFlag")=Request.Form("ChildFlag")
rs("Sequence")=999
else
rs("ChildFlag")=0
rs("Sequence")=99
end if
rs("AddTime")=now()
rs("UpdateTime")=now()
rs.update
rs.close
set rs=nothing
end if
if Result="Modify" then
sql="select * from NwebCn_News where ID="&ID
rs.open sql,conn,1,3
rs("NewsName")=trim(Request.Form("NewsName"))
rs("Content")=Request.Form("Content")
GroupIdName=split(Request.Form("GroupID"),"┎╂┚")
rs("GroupID")=GroupIdName(0)
rs("Exclusive")=trim(Request.Form("Exclusive"))
if Request.Form("ChildFlag")=1 then
rs("ChildFlag")=Request.Form("ChildFlag")
rs("Sequence")=100
else
rs("ChildFlag")=0
end if
rs("UpdateTime")=now()
rs.update
rs.close
set rs=nothing
end if
response.write "<script language=javascript> alert('成功编辑新闻信息!');changeAdminFlag('新闻信息列表');location.replace(NewsList.asp');</script>"
else
if Result="Modify" then
set rs = server.createobject("adodb.recordset")
sql="select * from NwebCn_News where ID="& ID
rs.open sql,conn,1,1
NewsName=rs("NewsName")
GroupID=rs("GroupID")
Exclusive=rs("Exclusive")
Content=rs("Content")
ChildFlag=rs("ChildFlag")
rs.close
set rs=nothing
end if
end if
end sub
%>
补充:看了你代码,你只取了Action,没取Result啊。。。。
if Result="Add" then
在这句之前没有Result的取值语句。在前面加上一句
Result=Request.QueryString("Result")