绿茶坊

愤青么?做四有愤青。有素质、有体魄;有知识、有胆识。

« ASP添加数据到数据库XP系统下安装IIS5.1并支持ASP.net代码(转载) »

ASP编程入门进阶-删除语句

 
 

1,首先要明确删除哪条记录(简单)
无非还就是SQL语句了,比如对应到特定的某ID上。
id = request.form("id")
sql = "Select * from cnarticle where cn_id="&id
Set rs = Server.CreateObject ("ADODB.Recordset")
rs.Open sql,conn,2,3

2,执行删除命令
rs.delete

<注释— 如果想把程序写的更完整一些,在执行删除的时候除了给出提示外,还要先判断一下删除的内容是否存在,不存在给出出错处理,或提示。

1、具体到删除一条记录,可以用if 语句进行判断一下,所以上面的命令可以写成 "if not rs.eof then rs.delete   rs.update end if "   rs.update   或者写成提示完整的提示信息:

if cn_d="" or isnull(cn_id) then

response.write "<script language='javascript'>"
response.write "alert('出错了,您什么也没有选择!');"
response.write "location.href="/xxx.asp'";"
response.write "</script>"
response.end

else
   conn.execute("delete from book where ID in ("&cn_d&")")

rs.update
onn.close
   set conn=nothing

response.write "<script language='javascript'>"
response.write "alert('操作成功,选定的记录已删除!');"
response.write "location.href="/xxxxx.asp";"
response.write "</script>"
response.end

end if

删除之后更新数据库。

2、为防止sql注入 对Id 进行过滤 id=replace(request("id"),"'",""),即过滤掉',也可以写一个函数,过滤更多的危险字符如: * ? and ( ) or 等。  

3、   如果是删除多条记录 判断条件应写成 where cn_id in "id" 完整语句:

sql = "Select * from cnarticle where cn_id in (" &id& ")"

 

>

3,删除之间要进行确认删除

<script language="JavaScript">
<!--
function suredo(src,q)
{
var ret;
ret = confirm(q);
if(ret!=false)window.location=src;
}
//-->
</script>

<a href='javascript:suredo("del.asp?id=<%=id%>","确定删除?")'>Delete</a>
4,也可以直接使用Execute命令直接执行删除

SQL=“select * from ** where id=”&id

conn.execute(sql)

5,选中所有单项框,即标单中的表示的记录数 函数

<script language="JavaScript" type="text/JavaScript">
function CheckAll(form) {
for (var i=0;i<form.elements.length;i++)    {
    var e = form.elements[i];
    if (e.name != 'chkall')       e.checked = form.chkall.checked;
   }
}
</script>

6、最后完整代码可以写成:

delid=replace(request("id"),"'","")
if delid="" or isnull(delid) then

response.write "<script language='javascript'>"
response.write "alert('出错了,您什么也没有选择!');"
response.write "location.href="/book1.asp";"
response.write "</script>"
response.end

else
   conn.execute("delete from book where ID in ("&delid&")")
   rs.update
   conn.close
   set conn=nothing

response.write "<script language='javascript'>"
response.write "alert('操作成功,选定的留言已删除!');"
response.write "location.href="/book1.asp";"
response.write "</script>"
response.end

end if

  • quote 1.yukui
  • Request.QueryString[]是一个object型的数组
    Request.QueryString["my"] != null是判断QueryString中是否存在参数名为my的值,Request.QueryString["my"].ToString()!=""是判断参数名为 my的值转换为字符串是否为空
  • 2009-01-06 15:03:33 回复该留言
  • quote 2.yukui
  • sql="select * from Data where Id=" &request.querystring("Id") & "and Data7 = '1' order by id desc "
  • 2009-01-06 15:06:00 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Arwen Build 90619  Theme By Bokezhuti.cn

沈奎林 南京大学
陇ICP备05004360号