我正在使用 SQLite 并阅读 docs for QSqlQuery class .
以前存储的查询有几个绑定(bind)示例,例如:
QSqlQuery query;
query.prepare("INSERT INTO person (id, forename, surname) "
"VALUES (:id, :forename, :surname)");
query.bindValue(":id", 1001);
query.bindValue(":forename", "Bart");
query.bindValue(":surname", "Simpson");
query.exec();
这主要是为了方便编程,还是对经常使用的查询有实际的性能优势?
最佳答案
问题不在于性能,而在于安全性。使用此语句,您可以告诉数据库什么是变量以及您的查询是什么。这使得 SQL 注入(inject)不可能。如果您自己编写 SQL,则需要确保正确转义任何变量输入。
关于database - Qt 对 SQLite 的存储查询更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20602984/