我有一个gridview和sqldatasource绑定数据到gridview。如何检查插入新值是否已经存在?
- 我在数据库中有3列:姓名,年龄,生日。
- 我有3个文本框和一个按钮,用于在数据表gridview中添加来自 文本框的值的新行。
当我点击按钮添加一个新的行与这些信息,我需要检查如果是“更名”列中的数据表中已存在“名称”的文本框中的值是否更新被取消并且用户被要求输入另一个值。
我有一个gridview和sqldatasource绑定数据到gridview。如何检查插入新值是否已经存在?
当我点击按钮添加一个新的行与这些信息,我需要检查如果是“更名”列中的数据表中已存在“名称”的文本框中的值是否更新被取消并且用户被要求输入另一个值。
最简单的解决方案,基于我如何理解你的问题将是在插入之前运行一个快速查询。
SELECT COUNT(*) FROM tblName WHERE Name = @Name
而且,如果该值为零,你有没有在你的数据库匹配该名称。或者,如果您想在选择时查找匹配名称的ID,则可能需要设置存储过程。有初步查询匹配的名字返回值,并且:IF(@ReturnValue为空),执行插入,并用
SELECT SCOPE_IDENTITY()
你最好在该列名定义唯一索引返回值表。您可以让代码执行而不用检查名称是否存在。如果名称已经存在(它可以捕获并很好地显示给用户),它将返回一个错误;如果表中不存在该名称,则成功。
我不知道你使用了哪个数据库,但是像这样的东西应该适用于大多数数据库。
CREATE UNIQUE INDEX index_name
ON your_table (name)
需要更多信息,您是否需要检查数据库并在插入数据库之前查看数值是否存在?你在检查什么专栏?我们不介意在stackoverflow上阅读。 – JonH
我很抱歉,请再看看我的问题。已更新 – Alexander
设计合理的数据库已经为您处理此问题。您告诉我们的名称字段应该是唯一的。如果它的唯一(可能主键是名称字段),如果重新插入一条存在的记录,数据库系统将向您发出尖叫声。 – JonH