Heim >Datenbank >MySQL-Tutorial >Wie übergebe ich Parameter korrekt an ADO.NET INSERT-Befehle?

Wie übergebe ich Parameter korrekt an ADO.NET INSERT-Befehle?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-30 20:07:19247Durchsuche

How to Correctly Pass Parameters to ADO.NET INSERT Commands?

Übergabe von Parametern an ADO.NET-Befehle

Um einen Datensatz mithilfe eines ADO.NET-Befehls in eine Datenbank einzufügen, sollten Parameter vorhanden sein genutzt. Im bereitgestellten Beispiel tritt aufgrund einer unvollständigen Implementierung ein Problem auf:

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);

Um dieses Problem zu beheben und Parameter korrekt hinzuzufügen, führen Sie die folgenden Schritte aus:

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();

In diesem Code:

  • Geben Sie die Spaltennamen vor den Werten in der INSERT-Anweisung an.
  • Geben Sie den Datentyp jedes Parameters mit an SqlDbType.
  • Legen Sie die maximale Größe für Parameter mit Datentypen variabler Länge fest.
  • Vermeiden Sie die Verwendung von AddWithValue, da dies zu Sicherheitslücken führen kann.

Dieser Ansatz gewährleistet dass Parameter ordnungsgemäß zum Befehl hinzugefügt werden und der Datensatz erfolgreich in die Datenbank eingefügt wird.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter korrekt an ADO.NET INSERT-Befehle?. 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