Как я могу добавить вводимые пользователем данные в оператор SQL?
Я пытаюсь создать оператор SQL, используя предоставленные пользователем данные. Я использую код, подобный этому в C #:
var sql = "INSERT INTO myTable (myField1, myField2) " +
"VALUES ('" + someVariable + "', '" + someTextBox.Text + "');";
var cmd = new SqlCommand(sql, myDbConnection);
cmd.ExecuteNonQuery();
и это в VB.NET
Dim sql = "INSERT INTO myTable (myField1, myField2) " &
"VALUES ('" & someVariable & "', '" & someTextBox.Text & "');"
Dim cmd As New SqlCommand(sql, myDbConnection)
cmd.ExecuteNonQuery()
Тем не мение
этот сбой, если пользовательский ввод содержит одинарные кавычки (например,O'Brien
), Я не могу правильно понять формат при вставке значений DateTime и люди продолжают говорить мне, что я не должен делать это из-за «инъекции SQL».Как мне сделать это "правильным образом"?