Как я могу добавить вводимые пользователем данные в оператор 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».

Как мне сделать это "правильным образом"?

Ответы на вопрос(2)

Ваш ответ на вопрос