Rus*_*kar 0 c# sql sql-server-2008
如果我想插入包含引号的语句,怎么可能?
例如,我有一个文本框,我输入:
Future Swami Vivekananda’s grand father's name was "____" .
Run Code Online (Sandbox Code Playgroud)
如果使用正确的参数化语句,则无需担心.像这样的东西(虽然请不要学习我的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();
Run Code Online (Sandbox Code Playgroud)
(虽然你真的应该使用存储过程.)
如果你手动构建你的字符串(你真的,真的,真的不应该这样做),你需要通过将它们加倍来转义字符串分隔符:
INSERT dbo.tbl(col) VALUES('hello''foo"bar');
Run Code Online (Sandbox Code Playgroud)