Ако използвате правилно параметризирани изрази , не трябва да се тревожите за това. Нещо подобно (въпреки че, моля, не учете техники на C# от мен):
string sql = @"UPDATE dbo.table SET col = @p1 WHERE ...;";
string myString = @"hello'foo""bar";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.Text;
SqlParameter p1 = cmd.Parameters.AddWithValue("@p1", myString);
cmd.ExecuteNonQuery();
(Въпреки че наистина трябва да използвате съхранени процедури.)
Ако изграждате своите низове ръчно (което наистина, наистина, наистина не трябва да правите), трябва да избегнете разделителите на низове, като ги удвоите:
INSERT dbo.tbl(col) VALUES('hello''foo"bar');