Hinzufügen von Parametern zu ADO.NET-Befehlen
Beim Erstellen von ADO.NET-Befehlen, die Daten ändern, ist es wichtig, Parameter zu verwenden, um SQL zu verhindern Injektionsangriffe abwehren und die Leistung verbessern. Betrachten Sie den folgenden Beispielcode:
SqlCommand command = new SqlCommand("INSERT INTO Product_table Values(@Product_Name,@Product_Price,@Product_Profit,@p)", connect);
Dieser Code versucht, mithilfe von Parametern Werte in eine Datenbanktabelle einzufügen. Die Parameter werden jedoch nicht korrekt definiert.
Lösung:
Der richtige Ansatz besteht darin, jeden Parameter explizit mit seinem Namen, Datentyp und Wert zu definieren folgt:
SqlCommand cmd = new SqlCommand("INSERT INTO Product_table (Product_Name, Product_Price, Product_Profit, p) " + "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();
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWie kann ich Parameter sicher zu ADO.NET-Befehlen hinzufügen, um SQL-Injection zu verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!