我正在使用SQLite并阅读docs for QSqlQuery class。
以前存储的查询有几个绑定示例,例如:
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();
这主要是编程方便还是经常使用的查询有实际的性能优势?
答案 0 :(得分:2)
问题不在于性能,而在于安全性。使用此语句,您可以告诉数据库什么是变量以及您的查询是什么。这使SQL注入不可能。如果您编写SQL,则需要确保正确转义任何变量输入。