具体的表是这样的:
表一 USER
USERID LOGONID USERNAME
表二 GROUP
GROUPID GROUPNAME
表三 GROUPUSER
GROUPUSERID GROUPID USERID GROUPUSERNAME
在文本框 txtName中输入LOGONID(USER表中已有的记录)判断LOGONID是否存在,存在即可选择下拉框继续选择部门然后将记录插入到表GROUPUSER中,并且不能重复将同一记录插入表GROUPUSER中,
string strSqlInsert = @"insert into [GROUPUSER](USERID,GROUPID) select [USER].USERID , [GROUP].GROUPID from [USER],[GROUP]
where GROUPNAME='" + ddlGroup.SelectedValue + "' and USERNAME='" + lblName.Text + "'";这是我实现将数据插入GROUPUSER中,但是要怎么做才能防止重复插入同一记录呢?? 不能使用唯一性约束,数据库的表不允许改动。
存储 SQL 数据库 行业数据 String
------解决方案--------------------
可以在GROUPUSER建立一个触发器来防止重复插入同一记录。
------解决方案--------------------
CREATE TRIGGER t_GROUPUSER ON dbo.GROUPUSER
FOR INSERT
AS
if (SELECT COUNT(*)
FROM GROUPUSER,inserted
WHERE (GROUPUSER.GROUPUSERID=inserted.GROUPUSERID)
AND (GROUPUSER.GROUPID=inserted.GROUPID)
AND (GROUPUSER.USERID=inserted.USERID)
AND (GROUPUSER.GROUPUSERNAME = inserted.GROUPUSERNAME) )>1
begin
print '记录已存在!'
rollback transaction
end
GO
------解决方案--------------------
你使用js进行客户端更新按钮的状态,进行异步判断