-3

我有一个 gridview 和 sqldatasource 来将数据绑定到 gridview。

  • 我在数据库中有 3 列:姓名、年龄、生日。
  • 我有 3 个文本框和一个按钮,用于在数据表 gridview 中添加带有来自文本框的值的新行。

当我单击添加包含这些信息的新行的按钮时,我需要检查“名称”文本框中的值是否已经存在于“名称”列的数据表中,如果是,则取消更新并且用户是要求输入另一个值。

4

2 回答 2

1

您最好在表中的列名上定义唯一索引。您可以让代码在不检查名称是否存在的情况下执行。如果名称已经存在,它将返回错误(您可以捕获并很好地显示给用户);如果该名称在表中不存在,则成功。

我不知道您使用哪个数据库,但是这样的东西应该适用于大多数数据库。

CREATE UNIQUE INDEX index_name
ON your_table (name)
于 2012-05-03T19:15:03.683 回答
0

根据我对您问题的理解,最简单的解决方案是在插入之前运行快速查询。

SELECT COUNT(*) FROM tblName WHERE Name = @Name

而且,如果该值为零,则您的数据库中没有与该名称匹配的任何内容。或者,如果您想在选择时找到匹配名称的 ID,您可能需要设置一个存储过程。有一个初始查询匹配名称的返回值,并且:如果(@ReturnValue 为空),执行插入并返回值

SELECT SCOPE_IDENTITY()
于 2012-05-03T19:12:55.303 回答