-3

データをグリッドビューにバインドするためのグリッドビューと sqldatasource があります。

  • データベースには、名前、年齢、誕生日の 3 つの列があります。
  • 3 つのテキスト ボックスと、データ テーブル、グリッドビューにテキスト ボックスの値を含む新しい行を追加するためのボタンがあります。

これらの情報を含む新しい行を追加するボタンをクリックすると、「名前」のテキストボックスの値が「名前」列のデータテーブルに既に存在するかどうかを確認する必要があります。存在する場合、更新はキャンセルされ、ユーザーは別の値を入力するように求められました。

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 を見つけたい場合は、おそらくストアド プロシージャを設定することをお勧めします。最初に一致する名前を照会する戻り値を持ち、IF (@ReturnValue が null)、挿入を実行して値を返す

SELECT SCOPE_IDENTITY()
于 2012-05-03T19:12:55.303 に答える