Sqlite 如何插入包含';%的字符串';使用QSqlQuery?
我试图使用QsqlQuery插入包含“%”的字符串,但我总是在消息中收到QSQLRERROR::TransactionError类型的错误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\")")
"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命令行上运行良好,不过字符串周围只有引号。我猜您尝试过用转义引号将查询包装起来吗?请显示您的代码。我刚刚编辑了我的问题以添加代码段。