2012-05-03 47 views
-3

我有一个gridview和sqldatasource绑定数据到gridview。如何检查插入新值是否已经存在?

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

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

+1

需要更多信息,您是否需要检查数据库并在插入数据库之前查看数值是否存在?你在检查什么专栏?我们不介意在stackoverflow上阅读。 – JonH

+0

我很抱歉,请再看看我的问题。已更新 – Alexander

+0

设计合理的数据库已经为您处理此问题。您告诉我们的名称字段应该是唯一的。如果它的唯一(可能主键是名称字段),如果重新插入一条存在的记录,数据库系统将向您发出尖叫声。 – JonH

回答

0

最简单的解决方案,基于我如何理解你的问题将是在插入之前运行一个快速查询。

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

而且,如果该值为零,你有没有在你的数据库匹配该名称。或者,如果您想在选择时查找匹配名称的ID,则可能需要设置存储过程。有初步查询匹配的名字返回值,并且:IF(@ReturnValue为空),执行插入,并用

SELECT SCOPE_IDENTITY() 
1

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

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

CREATE UNIQUE INDEX index_name 
ON your_table (name) 
+0

我正在使用Sql数据库,请问我该如何处理您的代码?谢谢。 – Alexander

+0

@Alexander直接执行数据库上的SQL语句。直接使用SQL Server Management Studio或Visual Studio连接到数据库。 – Icarus

+0

每次添加一个新的行或?时执行统计。对不起,我从来没有听说过这个,从来没有使用过。谢谢 – Alexander

相关问题