这段代码为什么有问题?

来源:百度知道 编辑:UC知道 时间:2024/06/30 05:10:51
<%
'建立Connection对象
set conn = Server.CreateObject("ADODB.Connection")
'建立连接
ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("zhixun.mdb")
conn.Open ConnStr
Set rs=Server.CreateObject("ADODB.RecordSet")
%>

<%
If Session("Admin")="" Then
Response.Redirect("zhixun.asp")
End If
%>
<%
dim Title
dim Content
dim mytitle
mytitle=Request("title")
Title=Request.Form("title")
Content=Request.Form("content")
%>
<!--#include file="conn.asp"-->
<%
sql="select * from news where Title='"&Request.Form("title")&"'"
rs.open sql,conn
if not rs.Eof and not rs.Bof Then
set rs=nothing
conn.close
set conn=nothing
%>
<script language="jav

sql="select * from news where Title='"&Request.Form("title")&"'"
rs.open sql,conn
if not rs.Eof and not rs.Bof Then
这个地方的意思是不是:能找到title一样的记录,就报错?
然后:
else
这个地方是不是:如果找不到,就根据title找到信息,然后修改这条信息?

是吧?那么逻辑上就有问题了:如果title能找到,那么会报错,而找不到的话,update语句会找不到任何的条目来更新,结果是你不可能修改任何的信息.

我的建议是:news表添加news_id字段,用以标识,因为title也应该是可以更改的,如果不用改title,那么把这个判断整个去掉就好了.
或者:
if rs.eof and rs.bof then
报错:没有匹配的新闻条目
else
修改条目
end if

OK?