判断数据库表格中某一条纪录已经存在

zyp1025 2007-06-02 08:50:08
怎样判断数据库表格中某一条纪录已经存在,如果存在则不保存,不存在则保存。这句代码应该怎样写?
例如:某条记录 学生=张三,学号:123
怎样在保存这条记录前先判断是否存在,再做是否保存的操作?
大家帮帮忙,先谢了!
Insertcmd=" insert into table ( ) values ( )"
...全文
325 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhiang75 2007-06-04
  • 打赏
  • 举报
回复
我的意思是建立唯一索引,在数据库中这个会吗?
然后直接调用插入SQL插入数据,然后捕获异常如果有重复的,数据库就会提示你的。
JustLovePro 2007-06-03
  • 打赏
  • 举报
回复
其实很简单的做法:
先依据要插入的记录查询数据库,看查询的结果如何,来判断是否已经有记录存在!
cnming 2007-06-02
  • 打赏
  • 举报
回复
不用事务,如果你在前台程序启用了事务,而占着事务没有及时关闭,或者占用时间比较长的话,会导致数据库被死锁

最好的办法是使用存储过程,当然,如果你的程序很小同时对存储过程不熟悉的话,可以不考虑使用存储过程
zyp1025 2007-06-02
  • 打赏
  • 举报
回复
zhiang75(zhiang75
启用事务?怎么用?新手不太懂,还请多多指教,谢谢啦
上面的代码不能直接用吗?
zhiang75 2007-06-02
  • 打赏
  • 举报
回复
最可靠的办法就是在此列上建唯一索引,当添加数据的时候捕获异常,上面的办法都可以不过只有在调用上述SQL或存储过程之前启用事务才可以保证唯一.不过启用事务后程序的效率会降低.
bote_china 2007-06-02
  • 打赏
  • 举报
回复
string sql ="if not Exists(select 学生 from table1 where 学生='张三' or 学号='123') begin insert into table1 (学生,学号) values ('张三', '123') end";
....
int re=cmd.ExecuteNonQuery();
if(re=0);
//失败;
else
//成功;
神奇的章鱼哥 2007-06-02
  • 打赏
  • 举报
回复
存储过程

if not Exists(select 学生 from table1 where 学生='张三' or 学号='123'
begin
insert into table1 (学生,学号) values ('张三', '123')
end

cnming 2007-06-02
  • 打赏
  • 举报
回复
if Exists(select * From table where .....)
begin
update ...
end
else
begin
insert into ...
end

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧