Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite 如何插入包含';%的字符串';使用QSqlQuery?_Sqlite_Qt_Qsqlquery - Fatal编程技术网

Sqlite 如何插入包含';%的字符串';使用QSqlQuery?

Sqlite 如何插入包含';%的字符串';使用QSqlQuery?,sqlite,qt,qsqlquery,Sqlite,Qt,Qsqlquery,我试图使用QsqlQuery插入包含“%”的字符串,但我总是在消息中收到QSQLRERROR::TransactionError类型的错误 "near "%": syntax error Unable to execute statement" 我已经尝试了几种方法来逃避“%”,但仍然会收到错误消息。请参阅下面的代码片段 query.exec(QString("INSERT INTO my_table (name, address) VALUES (\"%1\", \"%2\")")

我试图使用QsqlQuery插入包含“%”的字符串,但我总是在消息中收到QSQLRERROR::TransactionError类型的错误

"near "%": syntax error Unable to execute statement"
我已经尝试了几种方法来逃避“%”,但仍然会收到错误消息。请参阅下面的代码片段

query.exec(QString("INSERT INTO my_table (name, address) VALUES (\"%1\", \"%2\")")
                  .arg("Harry", "#302%%1,..."));

我尝试了“\%”、“\%”来代替“%%”,但仍然不起作用,并且出现了相同的错误消息。

在SQL中,字符串用
'
分隔,而不是

无论如何,您应该使用以下参数:

query.prepare(“插入my_表(名称、地址)值(?)”;
query.addBindValue(“Harry”);
query.addBindValue(“#302%%1,…”;
exec();

你试过双精度-%吗?有几次我不得不用这种方法来逃避我的qstring。是的,我试过双精度-%以及“\%”和“\\%”“但是什么都没用。它在sqlite3命令行上运行良好,不过字符串周围只有引号。我猜您尝试过用转义引号将查询包装起来吗?请显示您的代码。我刚刚编辑了我的问题以添加代码段。