Ich habe ein Webformular bereits mit SQL Server verbunden. Ich kann einfügen, aber ich weiß nicht, wie man die Validierung durchführt, um keine Daten einzufügen, wenn die Tabelle bereits die gleichen Informationen enthält.Wie validiere ich Daten eingefügt von asp.net zu SQL Server
Wie kann dieser Prozess durchgeführt werden?
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());
}
Versuchen Sie Einfügen, Hit eindeutigen Index, Griff Fehler. Außerdem sollten Sie Ihre Verbindung explizit schließen, nachdem Sie damit fertig sind. –
Willkommen bei StackOverflow! Ihre Frage ist ein wenig breit, da es viele verschiedene Möglichkeiten gibt, dies zu erreichen. Sie können überprüfen, ob die Daten vorhanden sind, indem Sie die Datenbank aus Ihrem Code abfragen (innerhalb einer Transaktion) oder Trigger in der Datenbank verwenden. SO hilft Ihnen eher bei bestimmten Codierungsproblemen. Sie sollten also genauer angeben, was "die gleiche Information" bedeutet. Die Semantik kann dabei helfen zu entscheiden, ob Sie in Ihrem Code oder auf Db-Ebene validieren möchten. –
@OmarLopez Wenn Sie Ihre Tabelle mit der korrekten referenziellen Integrität richtig erstellen, sollte Ihre Einfügung eine Ausnahme auslösen, die Sie entsprechend fangen und behandeln können. –