Jika Anda menggunakan pernyataan berparameter dengan benar , Anda tidak perlu khawatir tentang hal itu. Sesuatu seperti ini (walaupun tolong jangan belajar teknik C# dari saya):
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();
(Meskipun Anda benar-benar harus menggunakan prosedur tersimpan.)
Jika Anda membuat string secara manual (yang seharusnya tidak Anda lakukan), Anda perlu menghindari pembatas string dengan menggandakannya:
INSERT dbo.tbl(col) VALUES('hello''foo"bar');