注册 登录
编程论坛 SQL Server论坛

求助,高手进来看看。。

yi90421 发布于 2008-05-31 16:34, 1724 次点击
有一段代码,是删除用的,本来没错的,但一删除的话,就把全部名字相同的都删了,有没有办法只让它删除选中的那个条信息呢?谢谢大家了!!

<!--#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"
%>
6 回复
#2
happynight2008-05-31 16:49
"把全部名字相同的都删了"是什么意思 根据你的程序 你要删除的是一个部门的信息 按照你的要求 是要删除什么
#3
yi904212008-05-31 17:06
回复 2# happynight 的帖子
里面是有2个表的。部门那个是判断要删除的用户是不是已经在用户表中被引用了,如果在的话就不能删除了。。删除的是用户没在用户表中被引用的,它虽然能删除用户,但也把这个用户的所有信息都删了,我是想能不能只删除选中的那一条信息。。(例如有多条信息)
#4
happynight2008-05-31 23:20
你检查下rsflag.recordcount 你的记录集的打开方式可能有问题 即使有数据 rsflag.recordcount也可能为"0"
#5
makebest2008-06-02 10:45
那你得把选中的那条信息的不同之处找出来, 放到删除的条件中去啊
#6
谭惟午2008-06-08 22:41
用主键删除保证唯一性!
#7
yi904212008-06-10 14:28
谢谢,问题解决了
1