c#操作Access 过滤重复数据时 时而成功,时而失败

caicaionly 2016-05-03 05:01:08

我用c#中的一个线程添加数据到access里,添加前通过如下语句判断数据库中是否已经存在,如果存在则不添加,否则添加


if (!CustomerDataBll.isEmailExist(Model.cCustomerEmail, Model.cUserName))
{

tsProgressBar.Visible = true;
tsProgressBar.PerformStep();

if (CustomerDataBll.addToDataBase(Model))//添加到数据库
{
tsslStatus.Text = "状态:入库" + Model.cCustomerEmail + "...";
i++;
}
else
{
tsslStatus.Text = "状态:入库失败" + Model.cCustomerEmail + "...";
}
}
else
{
//this.tsProgressBar.Visible = false;
tsslStatus.Text = "状态:过滤" + Model.cCustomerEmail;
}

/////以下是数据库层判断
public bool isEmailExist(string CustomerEmail, string userName)
{
OleDbParameter[] parameters = {
new OleDbParameter("@CustomerEmail", CustomerEmail),
new OleDbParameter("@userName", userName),

};
return DBhelper.Exists("select email from CustomerData where email=@CustomerEmail and userName=@userName", parameters);
}



但是依然会出现重复添加的情况(这种情况很少发生)。
基本上所有的过滤操作都成功了。但还是会偶尔重复添加了
不知道这是什么原因,如何解决,请指教

...全文
249 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Justin-Liu 2016-05-04
  • 打赏
  • 举报
回复
把线程去掉一ing该不会有重复的了吧?
Justin-Liu 2016-05-04
  • 打赏
  • 举报
回复
代码不全看不出来啊
为轮子而生 2016-05-04
  • 打赏
  • 举报
回复
为什么不自己发一条重复的,看究竟是哪个环节出问题了呢? 调试能力比学习能力和编写能力重要100倍

111,128

社区成员

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

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

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