SQL数据库事务批量添加中禁止重复值的问题

哨子 2010-12-02 09:34:26

string insertStr = "insert into Urls(UrlName,UrlHref,UrlState) values('{0}','{1}','Waiting')";
foreach (string[] arr in Urls)
{
//执行唯一性查询,如果己有值,则continue,否则退出
cmd.CommandText = string.Format(insertStr, arr[0], arr[1]);
cmd.ExecuteNonQuery();
}
tran.Commit();

如题,URLHref项要求是唯一的,弱弱的问一句,如上代码中注释处,怎么高效的查询。不会是新建一个代码段,再执行connection查询吧
...全文
127 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chtsir 2010-12-03
  • 打赏
  • 举报
回复
首先使用ajax在确认每次输入的URLHref在数据库中没有,然后保证你的Urls中没有重复的URLHref,最后使用事物提交
哨子 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
if not exists (select * from tb where ID=@ID) begin insert .
事务处理sqltransaction
using(TransactionScope scope = new TransactionScope()) {}
[/Quote]
不好意思,我对C#融合SQL语句不是很了解,能不能在我注释处写个示例代码,查询是不是有此URL?
wuyq11 2010-12-02
  • 打赏
  • 举报
回复
if not exists (select * from tb where ID=@ID) begin insert .
事务处理sqltransaction
using(TransactionScope scope = new TransactionScope()) {}

110,526

社区成员

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

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

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