繁体   English   中英

如何插入包含单引号或双引号的字符串

[英]How to insert string containing single or double quotes

如果我要插入包含引号的语句,怎么可能?

例如,我有一个文本框,然后输入:

Future Swami Vivekananda’s grand father's name was "____" .

如果使用正确的参数化语句 ,则无需担心。 像这样的东西(尽管请不要向我学习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');

使用参数化查询-那么行情并不重要 另外-您的数据库不会被SQL注入所接管-因此,双赢确实如此。

您可以将报价加倍:

INSERT INTO table
VALUES ('Future Swami Vivekananda''s grand father''s name was "____"')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM