Единственный полностью безопасный способ предотвратить внедрение SQL-кода - не допускать вводимые пользователем данные в ваш фактический оператор SQL.Вместо этого предоставьте переменные данные (например, токены, которые есть в строке формата) через параметры.
Например,
Using cmd As yourConnection.CreateCommand()
cmd.CommandText = "select x from my_table where y <> @y and z = @z"
cmd.Parameters.AddWithValue("@y", otherObj.Y)
cmd.Parameters.AddWithValue("@z", myObj.Z)
// etc.
End Using
(Использование AddWithValue
предполагает, что этоSqlConnection
, но для других провайдеров код не сильно отличается, и концепции совпадают)