如何设计保存到数据库之前检查一下是否有相同记录存在,有就不添加.
如何设计保存到数据库之前检查一下是否有相同记录存在,有就不添加。在VS2008里面写还是sql里面写了。求助。又该如何写呢 --------------------编程问答-------------------- 若果有多个客户端要考虑并发问题。写在存储过程里好了 --------------------编程问答-------------------- 相同的记录指的是什么呢,难道是每个字段的内容都相同吗,一般会设置一个自动递增的数据库字段,这样记录是不会重复的。
除非十分有必要检查,要不然不是操作了两次数据库。 --------------------编程问答-------------------- 在数据层,用存储过程实现比较合理。
--------------------编程问答-------------------- 写存储过程,在存储过程中根据自增主键ID判断,如果ID>0就,update 反之 insert --------------------编程问答-------------------- 也可在程序中查找数据库中所要查找的记录,返回影响行数,如果>0则无记录,可以插入 --------------------编程问答-------------------- 一般是判断 ID或者外键是否唯一 可以用Ajax或者存储过程 --------------------编程问答-------------------- SQL里这样写
select max(id)+1 from tablename
这样也排除不了并发。
还是用存储过程吧 --------------------编程问答-------------------- 这个写在哪里都可以,VS项目中进行insert前检查,或者使用存储过程insert前检查。不过如果涉及到多张表都要检查,那还不如直接在VS的逻辑中去写。 --------------------编程问答-------------------- 在insert 之前检测 --------------------编程问答-------------------- if exists(select * from tablename where id=@id) insert..
或先查询count(*) --------------------编程问答-------------------- 输入时判断一下,有相同数据就提示不能添加相同数据不就行了。 --------------------编程问答-------------------- 如果你要输入的是name就查询数据库 select *from table where name=@name
if(查询的结果>0){
提示不能重复输入
}else{
}
补充:.NET技术 , ASP.NET