私はそのような文字列を持っています:
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()を使用してすべてを実行しています。他にやるべきことはありますか?プリペアドステートメントは、私がやろうとしていることを処理しますか?
prepare_v2で試してみれば、問題が解決する可能性がありますか?
これにどのようにアプローチする必要がありますか?