我有一个 gridview 和 sqldatasource 来将数据绑定到 gridview。
- 我在数据库中有 3 列:姓名、年龄、生日。
- 我有 3 个文本框和一个按钮,用于在数据表 gridview 中添加带有来自文本框的值的新行。
当我单击添加包含这些信息的新行的按钮时,我需要检查“名称”文本框中的值是否已经存在于“名称”列的数据表中,如果是,则取消更新并且用户是要求输入另一个值。
您最好在表中的列名上定义唯一索引。您可以让代码在不检查名称是否存在的情况下执行。如果名称已经存在,它将返回错误(您可以捕获并很好地显示给用户);如果该名称在表中不存在,则成功。
我不知道您使用哪个数据库,但是这样的东西应该适用于大多数数据库。
CREATE UNIQUE INDEX index_name
ON your_table (name)
根据我对您问题的理解,最简单的解决方案是在插入之前运行快速查询。
SELECT COUNT(*) FROM tblName WHERE Name = @Name
而且,如果该值为零,则您的数据库中没有与该名称匹配的任何内容。或者,如果您想在选择时找到匹配名称的 ID,您可能需要设置一个存储过程。有一个初始查询匹配名称的返回值,并且:如果(@ReturnValue 为空),执行插入并返回值
SELECT SCOPE_IDENTITY()