|
主题: 删除记录的问题
|
 hncsckr
职务:普通成员
等级:1
金币:0.0
发贴:24
注册:2005/4/15 16:44:05
|
#12006/5/26 14:47:54
我想利用checkbox表单,选中后按按钮删除记录,但我不知道checkbox选中以后,是该按按钮删除吗?怎么写代码呢,请版主给予提示
|
 yiliaocheng
职务:普通成员
等级:2
金币:2.0
发贴:631
注册:2005/12/29 19:33:15
|
#22006/5/26 16:03:19
<form action="" name="del"> <%Set rs= Server.CreateObject("ADODB.Recordset") rs.open "select * from 表 order by id desc",conn,1,3 do while not rs.eof if request.form("usertel")=1 then rs.delete else%> <input name='usertell' type='checkbox' onclick="" id="usertell" value=1><%=rs(""usertell)%><br> <%rs.movenext rs.update rs.close set rs=nothing%>
|
 yiliaocheng
职务:普通成员
等级:2
金币:2.0
发贴:631
注册:2005/12/29 19:33:15
|
#32006/5/26 16:05:13
以后一个问题不要开两个讨论帖.
|
 hncsckr
职务:普通成员
等级:1
金币:0.0
发贴:24
注册:2005/4/15 16:44:05
|
#42006/5/26 17:17:27
<!--#include file="conn.asp" --> <%Set rs= Server.CreateObject("ADODB.Recordset"  rs.open "select * from 表 order by id desc",conn,1,3 for i=1 to rs.pagesize %> <tr> <form action="" name="del"> <td align="center"> <% if request.form("usertel"  =1 then rs.delete rs.update else%> <input name='usertell' type='checkbox' onclick="" id="usertell" value=1> <% end if %> </td> </form> rs.close set rs=nothing%> 我的问题:在CHECOBOX中选中后,没有删除记录,我把上述代码何存在1.ASP文件中,然后 <a href="1.asp">删除记录</a>. 我就是想通过点击某个链接删除记录
|
 yiliaocheng
职务:普通成员
等级:2
金币:2.0
发贴:631
注册:2005/12/29 19:33:15
|
#52006/5/26 19:30:59
这样改:<a href="khDel.asp?aciton=del&id=<%=rs("id")%>" >删除记录</a>
|
 yiliaocheng
职务:普通成员
等级:2
金币:2.0
发贴:631
注册:2005/12/29 19:33:15
|
#62006/5/26 19:33:44
然后khDel.asp这样写: <%if request("action")=del then Set rs= Server.CreateObject("ADODB.Recordset") rs.open "select * from 表 where id="&request("id")&" order by id desc",conn,1,3 rs.delete rs.update rs.close set rs=nothing end if%>
|
 浮尘
职务:普通成员
等级:3
金币:7.0
发贴:1258
注册:2001/11/19 12:41:09
|
#72006/5/28 22:17:12
删除记录不用那么多东西的,只需要链接和SQL就可以了。 sql="delete tablename where id="+request("id") objConn.Execute(sql) 就可以了。如果是Access,用delete from
|
 hncsckr
职务:普通成员
等级:1
金币:0.0
发贴:24
注册:2005/4/15 16:44:05
|
#82006/5/28 23:22:37
1.asp中有如下代码: <td align="center"> <input name='id' type='checkbox' onclick="" id="id" value=<%= rs("id"  %>></td> del.asp中删除代码是这样写的: id=request.QueryString("id"  sqlstrDel="Delete From table_name where ID In ("& ID &"  " conn.Execute(sqlstrDel) 我遇到的问题是ID值取不到,无法删除,我始终找不到错在那里?请指教啊
|
 蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
|
#92006/5/29 11:46:14
首先绑定的checkbox的ID为"delID",执行提交后,分析以下代码
if Request("DelID") <> "" then
arrDelID = Split(Request("DelID"), ",")
strDelID = "("
for i = 0 to UBound(arrDelID)
if strDelID <> "(" then strDelID = strDelID & ","
strDelID = StrDelID & arrDelID(i)
next
strDelID = strDelID & ")"
sqlDel = "DELETE FROM Article_Subject WHERE SubjectID IN " & strDelID
conn.Execute sqlDel
end if
非常大鱼
|
 缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
|
#102006/5/29 13:02:39
蓝鲸在上个帖子中说 引用: 首先绑定的checkbox的ID为"delID",执行提交后,分析以下代码
if Request("DelID") <> "" then
arrDelID = Split(Request("DelID"), ",")
strDelID = "("
for i = 0 to UBound(arrDelID)
if strDelID <> "(" then strDelID = strDelID & ","
strDelID = StrDelID & arrDelID(i)
next
strDelID = strDelID & ")"
sqlDel = "DELETE FROM Article_Subject WHERE SubjectID IN " & strDelID
conn.Execute sqlDel
end if
为什么要先Split再组合? 直接"delete from table where id in("&Request.Form("delid"  &"  "
|
 蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
|
#112006/5/29 15:04:49
接受,  不好意思,这代码是以前做的,没细想,这办法太笨了
非常大鱼
|
 hncsckr
职务:普通成员
等级:1
金币:0.0
发贴:24
注册:2005/4/15 16:44:05
|
#122006/5/30 9:29:28
我在1.asp页面中表单是这样的: <form action="" method="post" ><td align="center"> <input name='delid' type='checkbox' onclick="" id="delid" value="<%= rs("id"  %>"></td></form> 但我并没有提交按钮,只是在页面某处设置了一个链接 <td align="center"><a href="2.asp.asp">删除记录</a></td> 然后在2.asp中的删除代码是这样写的: DelID = Request("DelID"  sqlDel = "DELETE FROM zongbiao WHERE id IN " & DelID conn.Execute sqlDel 现在问题仍然是ID的值取不到,无法删除. 我反复看代码,问题不是在2.asp中,肯定是在1.asp中,是不是form中checkbox的ID值非要设一个提交按钮才能被2.asp取到表单中的ID值呢?
|
 缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
|
#132006/5/30 11:25:40
form需要submit才会提交数据.这个是常识,而不是想当然. 如果你非要用文字链接.那么用js来提交form
|