我正在使用 Sqlite 使用 Microsoft Visual C# 2008 Express。
我知道我的文本中的撇号 (') 在查询中存在问题。我的问题是我认为我可以用 \' 替换它。它似乎不起作用...这是我的代码的简化示例:
string myString = "I can't believe it!";
cmd.CommandText = "Insert into myTable (myid,mytext) values (1,'" + myString.Replace("'","\\'") + "');";
我得到的错误是:
SQLite 错误:
“t”附近:语法错误
我尝试过其他几个替代品......比如另一个斜线。我将我的字符串和字符串的替换版本写入控制台,以确保它正确输出。
我在这里犯了什么愚蠢的错误?
Thanks!
-Adeena
罗伯特提出的解决方案将起作用(即替换'
by ''
).
或者,您可以使用参数,如下所示:
DbCommand cmd = new DbCommand();
DbParameter param = cmd.CreateParameter();
// ...
// more code
// ...
cmd.CommandText = "Insert table (field) values (@param)";
param.ParameterName = "param"
param.DbType = DbType.String;
param.Value = @"This is a sample value with a single quote like this: '";
cmd.Parameters.Add(param);
cmd.ExecuteNonQuery();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)