【问题标题】:How to show error for entering a duplicate record, in a textbox, exsisting in a database如何在文本框中显示数据库中存在的重复记录输入错误
【发布时间】:2011-03-10 12:10:46
【问题描述】:

我正在开发一个与数据库连接的 .NET (C#) 项目。对于项目的一部分,我正在通过“文本框”控件在数据库中输入值。 我想要检查用户输入的值是否已存在于数据库中,如果存在,则仅在该时间段内显示错误。

我在这里搜索了任何熟悉的帖子,可以解决我的问题,但没有得到任何结果。 谢谢。

我的确切目标(如果之前没有清除):-

当用户输入值时 文本框,自动一个事件 检查中的任何重复记录 数据库应该出现。如果被发现, 显示错误信息

【问题讨论】:

  • 你用ado.net,EF是什么数据访问层?

标签: c# asp.net sql ado.net


【解决方案1】:

一种可能的方法是对文本框的onchange 事件进行 AJAX 回调,然后检查该值是否已存在于您的数据库表中。

您也可以通过ServerSideValidationExtender 控件实现它:

【讨论】:

  • 我认为可以实现我的目标,但我不是 AJAX 专家。不管怎样,我会试试你的建议。
【解决方案2】:

您应该使用 AJAX 来实现您的目标。从客户端调用 Web 服务以检查用户输入的值是否已存在于数据库中。在 TextBox 的文本更改事件上调用此 WebService。

【讨论】:

  • @学生:你的回答也对我有用。但由于马丁的答案更准确,我选择了它作为答案。无论如何,谢谢。
【解决方案3】:

一种可能的选择是:

在插入新值之前,查询数据库以查看是否存在具有唯一值的记录。如果是,则向用户显示一条消息,否则插入数据。

查询将取决于您的表/数据库中哪些字段是唯一的。

【讨论】:

  • @Tony:是的,这是一个不错的选择。但我想要的是,当用户在文本框中输入值时,会自动发生一个检查数据库中任何重复记录的事件。如果找到,则显示错误消息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
  • 2015-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多