Wie kann ich einer SQL-Anweisung eine vom Benutzer bereitgestellte Eingabe hinzufügen?
Ich versuche, eine SQL-Anweisung mit vom Benutzer angegebenen Daten zu erstellen. Ich verwende ähnlichen Code in C #:
var sql = "INSERT INTO myTable (myField1, myField2) " +
"VALUES ('" + someVariable + "', '" + someTextBox.Text + "');";
var cmd = new SqlCommand(sql, myDbConnection);
cmd.ExecuteNonQuery();
und dies in VB.NET
Dim sql = "INSERT INTO myTable (myField1, myField2) " &
"VALUES ('" & someVariable & "', '" & someTextBox.Text & "');"
Dim cmd As New SqlCommand(sql, myDbConnection)
cmd.ExecuteNonQuery()
Jedoch
dies schlägt fehl, wenn die Benutzereingabe einfache Anführungszeichen enthält (z. B.O'Brien
),Ich kann das Format beim Einfügen von DateTime-Werten und @ nicht richtig darstellepeople sagen mir immer wieder, dass ich das wegen "SQL Injection" nicht machen soll.Wie mache ich das "richtig"?