我有一个字符串,例如:似乎无法逃脱查询我发送到我的sqlite3的分贝,不知道为什么
string query;
query = "insert or replace into TABLEA (a,b,c) values (@a,\"@b\",\"@c\");";
这样我可以插入串到B和C只是一个简单的替换:
string instring("I have a 3\" gauge");
string instring2("I am looking for 1/8\" thickness");
Replace(&query, "@a", to_string(1));
Replace(&query, "@b", instring);
Replace(&query, "@c", instring2);
所以现在我的查询字符串:
"insert or replace into TABLEA (a,b,c) values (1,\"I have a 3\" gauge\",\"I am looking for 1/8\" thickness\");";
SQLITE3得到它,它看起来像:
insert or replace into TABLEA (a,b,c) values (1,"I have a 3" gauge","I am looking for 1/8" thickness");
的问题是,串过早结束。我试图添加额外的转义字符,但这似乎也没有工作。
现在我使用sqlite3_exec()开展的一切。有什么我应该做的吗?准备好的声明是否处理了我想要做的事情?
我应该只是与prepared_v2尝试,并可能会解决问题?
我该如何接近这个?
http://stackoverflow.com/questions/603572/how-to-properly-escape-a-single-quote- for-a-sqlite-database有助于理解我应该删除“我拥有,只是拥有”,然后搜索输入字符串'并插入额外的,这样DB语言就会明白' '是1的报价 – Fallenreaper