WebフォームがSQL Serverに既に接続されています。私は挿入することができますが、テーブルにすでに同じ情報がある場合、データを挿入しないように検証を行う方法はわかりません。asp.netからSQL Serverに挿入されたデータを検証する方法
この処理はどのように実行できますか?
using (SqlConnection con = new SqlConnection("Data Source=hans-pc;Initial Catalog=CntExp;Integrated Security=True"))
{
SqlCommand cmd = new SqlCommand("INSERT INTO PreExp1 (Expe, Usuario) values (@Expe, @Usuario)", con);
cmd.Parameters.AddWithValue("@Expe", TextBox1.Text);
cmd.Parameters.AddWithValue("@Usuario", TextBox2.Text);
//cmd.Parameters.AddWithValue("@Fecha", Datenow());
con.Open();
int insertar = cmd.ExecuteNonQuery();
Response.Write("Inserted" + insertar.ToString());
}
ユニークなインデックスを挿入し、障害を処理してください。また、接続が完了したら明示的に接続を閉じる必要があります。 –
ようこそStackOverflow!あなたの質問は、それを達成するためのさまざまな方法がたくさんあるので、少し広いです。コード内(トランザクション内)からデータベースを照会するか、データベース内のトリガーを使用してデータが存在するかどうかを確認できます。 SOは、特定のコーディングの問題であなたを助ける可能性が高くなります。だから、「同じ情報」が何を意味するのかをより具体的に説明する必要があります。セマンティクスは、コードまたはDBレベルで検証するかどうかを決定するのに役立ちます。 –
@OmarLopez正しい参照整合性を持ってテーブルを構築すると、適切にキャッチして処理できる例外がスローされます。 –