首页 文章

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

提问于
浏览
2

我试图使用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 回答

  • 1

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

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

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

相关问题