Heim >Datenbank >MySQL-Tutorial >Warum schlägt meine SQL-INSERT-Anweisung mit Parametern fehl und wie kann ich das Problem beheben?

Warum schlägt meine SQL-INSERT-Anweisung mit Parametern fehl und wie kann ich das Problem beheben?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-01 07:48:11734Durchsuche

Why is my SQL INSERT statement with parameters failing, and how can I fix it?

SqlParameter-Parameter – Einfügen mithilfe von Parametern

Frage:

Beim Versuch, einen Datensatz mithilfe einer SQL in eine Datenbank einzufügen Befehl, schlägt die Codeausführung fehl. Der bereitgestellte Code enthält:

SqlCommand comand = new SqlCommand("INSERT INTO Product_table Values(@Product_Name,@Product_Price,@Product_Profit,@p)", connect);
SqlParameter ppar = new SqlParameter();
ppar.ParameterName = "@Product_Name";
ppar.Value = textBox1.Text;
MessageBox.Show("Done");
comaand.Parameters.Add(ppar);

Antwort:

Um einen Datensatz mithilfe von Parametern erfolgreich einzufügen, sollte der folgende Code verwendet werden:

SqlCommand cmd = new SqlCommand("INSERT INTO Product_table Values(@Product_Name, @Product_Price, @Product_Profit, @p)", connect);
cmd.Parameters.Add("@Product_Name", SqlDbType.NVarChar, ProductNameSizeHere).Value = txtProductName.Text;
cmd.Parameters.Add("@Product_Price", SqlDbType.Int).Value = txtProductPrice.Text;
cmd.Parameters.Add("@Product_Profit", SqlDbType.Int).Value = txtProductProfit.Text;
cmd.Parameters.Add("@p", SqlDbType.NVarChar, PSizeHere).Value = txtP.Text;
cmd.ExecuteNonQuery();

Erklärung:

  • Vermeiden Sie die Verwendung von AddWithValue, as Dies kann zu Problemen bei der Datentypkonvertierung führen.
  • Geben Sie die Spaltennamen in der INSERT-Anweisung an (z. B. @Product_Name, @Product_Price) und geben Sie die entsprechenden Werte mit cmd.Parameters.Add(...) an.
  • Geben Sie den Datentyp jedes Parameters mit SqlDbType an.
  • Verwenden Sie cmd.ExecuteNonQuery() zum Ausführen den Befehl und fügen Sie den Datensatz in die Datenbank ein.

Das obige ist der detaillierte Inhalt vonWarum schlägt meine SQL-INSERT-Anweisung mit Parametern fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn