Qt SQL 查询参数

将 SQL 查询与实际值分开通常很方便。这可以使用占位符来完成。Qt 支持两种占位符语法:命名绑定和位置绑定。

命名绑定:

QSqlQuery query;
query.prepare("INSERT INTO employee (id, name, salary) VALUES (:id, :name, :salary)");
query.bindValue(":id", 1001);
query.bindValue(":name", "Thad Beaumont");
query.bindValue(":salary", 65000);
query.exec();

位置绑定:

QSqlQuery query;
query.prepare("INSERT INTO employee (id, name, salary) VALUES (?, ?, ?)");
query.addBindValue(1001);
query.addBindValue("Thad Beaumont");
query.addBindValue(65000);
query.exec();

请注意,在调用 bindValue()addBindValue() 之前,你需要调用 QSqlQuery :: prepare() 一次。