Ⅰ ASP 刪除資料庫數據
處理頁面錯誤原因:id值從哪來不明!!!幫你改,大致會有下面三種情況發生:
1\假如id是資料庫中的自動編號值的話,用下面:
<%
id=trim(request.form("id"))
id=cint(id)
strconn.execute("Delete users Where id="&id)
Response.Redirect "index.asp"
%>
2\假如id不是資料庫中的自動編號值(即文本)且用戶輸入的內容不完全等於資料庫該欄位內容的時候,用like:
<%
id=trim(request.form("id"))
strconn.execute("Delete users Where id like '%"&id&"%'")'所有包含ID內容的記錄都被刪除
Response.Redirect "index.asp"
%>
3\假如id不是資料庫中的自動編號值(即文本)且用戶輸入的內容等於資料庫該欄位內容的時候,用=:
<%
id=trim(request.form("id"))
strconn.execute("Delete users Where id ='"&id&"'")'所有等於ID內容的記錄都被刪除
Response.Redirect "index.asp"
%>
用javascript限制客戶端不允許提交空值,否則報錯,切記!!!或者在伺服器端檢測用戶輸入空值的時候,命令他返回重填,代碼如下:
<%if len(trim(request.form("id")))=0 then'或者trim(request.form("id"))="" then
Response.Redirect "刪除頁面"
else
id=cint(trim(request.form("id")))'id為資料庫自動編號時去掉兩頭空格後轉換為數字並賦值給ID
id=trim(request.form("id"))'id為資料庫文本時去掉兩頭空格後再賦值給ID
end if
%>
Ⅱ ASP如何刪除資料庫的一行數據
在刪除位置做一個鏈接並把ID值,用參數的形式傳遞過來.
<td><div align="center"><a href="delete.asp?id=<%=Rs("id")%>">刪除</a></div></td>
delete.asp的內容
<!--#include file="conn.asp"-->
<%
sql="delete from comment where id = " & Request.QueryString("id")
Conn.Execute(sql)
%>
也可以把刪除寫在你的程序最上面里,用一個參數判斷你是否點了刪除.
<td><div align="center"><a href="?id=<%=Rs("id")%>&del=yes">刪除</a></div></td>
<!--#include file="conn.asp"-->
<%
If Request.QueryString("del") = "yes"
sql="delete from comment where id = " & Request.QueryString("id")
Conn.Execute(sql)
End If
Set rs=Server.CreateObject("ADODB.Recordset")
sql="select * from comment where id<>'' order by id desc"
rs.open sql,conn,1,1
if rs.bof then
Response.Write("現在沒有評論。")
Response.end
end if
%>