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

时间:2013-05-02 18:03:52

标签: sqlite qt qsqlquery

我正在尝试使用QsqlQuery插入包含'%'的字符串,但我总是收到类型为QSqlError :: TransactionError的错误消息

"near "%": syntax error Unable to execute statement"

我已经尝试了几种方法来逃避“%”,但我仍然收到该错误消息。请参阅下面的代码段。

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

代替“%%”,我尝试过“\%”,“\%”,但它仍然没有用,我收到同样的错误信息。

1 个答案:

答案 0 :(得分:1)

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

无论如何,你应该使用参数:

query.prepare("INSERT INTO my_table (name, address) VALUES (?, ?)");
query.addBindValue("Harry");
query.addBindValue("#302%%1,...");
query.exec();