英语usually怎么读:ASP不能删除记录

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 07:33:27
<!--#include file="conn.asp" -->
<%
set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from site"
rs.open sql,conn,1,3
%>

<table border=1 width=770>
<tr>
<td align=center>名称</td>
<td align=center>地址</td>
<td align=center>说明</td>
<td align=center>操作</td>
</tr>
<%do while not rs.eof%>
<%
sitename=rs("sitename")
siteurl=rs("siteurl")
sitesay=rs("sitesay")
%>
<tr>
<%id=rs("id")%>
<td align=center><%=sitename%></td>
<td align=center><%=siteurl%></td>
<td align=center><%=sitesay%></td>
<td align=center><a href="linkdel.asp?=<%=id%>">删除</a></td>
</tr>
<%
rs.movenext
loop
%></table>
________________________________________________________________
<!--#include file="conn.asp" -->
<%
set rs = Server.CreateObject("ADODB.Recordset")

conn.execute "delete site where id="&trim(request.querystring("id"))

response.redirect "linkmanage.asp"
%>
怎么回事

你的代码有两个问题:
1。没有连接数据库
ACSEE数据库连接参考:
Dim Conn
Set Conn= Server.CreateObject(\"ADODB.Connection\")
Conn.ConnectionString=\"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" & Server.MapPath(\"sample.mdb\")
Conn.Open
2。<td align=center><a href=\"linkdel.asp?=<%=id%>\">删除</a></td>
应改成:
<td align=center><a href=\"linkdel.asp?id=<%=id%>\">删除</a></td>

而且,一打开你的第一个页面就会redirect "linkmanage.asp",这里有逻辑问题。

楼主用的可是ACCESS数据库啊,请照下面的方式改一下就可以了
conn.execute "delete * site where id="&trim(request.querystring("id"))

楼主记住

你这段代码安全系数太低

很容易被人黑了你的数据库

如 id 传值为
1 or true = true
delete * site where id=1 or true = true
这样全部数据全删除了

如果传值是数字
则最好先把值转成数字再连接上去

function toNum(v, def)
set re1 = new Regexp
re1.pattern = "^[-]?[0-9]+(\.[0-9]+)?$"
if re1.test(v) = true then
toNum = cdbl(v)
else
toNum = def
end if
end function