yi90421 发表于 2008-5-31 16:34

求助,高手进来看看。。

有一段代码,是删除用的,本来没错的,但一删除的话,就把全部名字相同的都删了,有没有办法只让它删除选中的那个条信息呢?谢谢大家了!!

<!--#include file="..\Data\Data_connect.asp"-->
<%
   del_name=request("del_name")
   response.Write(del_name)
   set rsflag=server.createobject("adodb.recordset")
   sqltext="select * from [User] where department='"&del_name&"'"
   rsflag.open sqltext,conn,1,1
   If rsflag.recordcount>0 Then
                   rsflag.close
                   conn.close
         response.write "<script language=JavaScript>{window.alert('此部门在员工表中已被引用,不能删除,请首先删除相应员工!');window.history.go(-1);}</script>"
                response.end
   End IF
   set rs=server.createobject("adodb.recordset")
   sqltext="delete from [jiaoxuejiang] where name='"&del_name&"'"
   rs.open sqltext,conn,3,3
   set rs=nothing
   response.redirect "jiaoxuejiang.asp"
%>

happynight 发表于 2008-5-31 16:49

"把全部名字相同的都删了"是什么意思 根据你的程序 你要删除的是一个部门的信息 按照你的要求 是要删除什么

yi90421 发表于 2008-5-31 17:06

回复 2# happynight 的帖子

里面是有2个表的。部门那个是判断要删除的用户是不是已经在用户表中被引用了,如果在的话就不能删除了。。删除的是用户没在用户表中被引用的,它虽然能删除用户,但也把这个用户的所有信息都删了,我是想能不能只删除选中的那一条信息。。(例如有多条信息)

happynight 发表于 2008-5-31 23:20

你检查下rsflag.recordcount 你的记录集的打开方式可能有问题 即使有数据 rsflag.recordcount也可能为"0"

makebest 发表于 2008-6-2 10:45

那你得把选中的那条信息的不同之处找出来, 放到删除的条件中去啊

谭惟午 发表于 2008-6-8 22:41

用主键删除保证唯一性!

yi90421 发表于 2008-6-10 14:28

谢谢,问题解决了

页: [1]

编程论坛