【发布时间】:2019-01-28 06:05:30
【问题描述】:
我正在使用包含多行文本的字符串格式,并且一个单引号是该文本的一部分。代码就像
string _query = @"{ts '{0}-{1}-{2} 00:00:00'}
";
_query = string.Format(_query, DateTime.Now.Year, DateTime.Now.Month, 25);
但字符串格式返回异常为
Input string was not in a correct format.
我们如何在多行文本中添加单引号以及字符串格式
【问题讨论】:
-
使用参数化 SQL 查询。不要像上面那样构建查询。参数化 SQL 查询 = 没有 SQL 注入,并且字符串中的引号没有问题。
-
必填bobby-tables.com链接
-
看在 Pete 的份上,请不要使用隐式连接。它们已经过时了超过 25 年。
-
同意 sql 可能不是最优的。但是请帮助找出字符串格式有什么问题
-
@JibinMathew 并不是说“sql 可能不是最优的”——而是 sql 非常糟糕。 SQL 注入的风险是一个非常大的风险,解决方案非常简单——太简单了以至于不能使用。顺便说一句,您的 string.format 可能以另一种方式出错 - 它会在 12 个月中的第 9 个月返回一个数字。您应该使用
{0}-{1:00}-{2}作为格式字符串。
标签: c# string string-formatting