Qt 参数计数与 QSQL 和绑定值不匹配
Qt Parameter Count Mismatch with QSQL and Bind Values
我目前遇到一个错误,我从 query.lastError 得到 "Parameter count mismatch",我的绑定值是正确的(我已经测试过了)。
我的查询是:
QSqlQuery query(DBT);
query.prepare("SELECT Foto, Nombre, Apellido1, Apellido2, Curso, Grupo, FotoHuella FROM usuarios WHERE Nombre=:nombre1 OR Apellido1=:apellido1 OR Apellido2=:apellido2 OR Curso=:curso1 OR Grupo=:grupo1");
query.bindValue(":nombre1", nombre, QSql::Out);
query.bindValue(":apellido1", apellido1, QSql::Out);
query.bindValue(":apellido2", apellido2, QSql::Out);
query.bindValue(":curso1", curso, QSql::Out);
query.bindValue(":grupo1", grupo, QSql::Out);
query.exec();
如果您想知道这里是我设置数据库的地方:
QSqlDatabase DBT=QSqlDatabase::addDatabase("QSQLITE");
DBT.setDatabaseName("/home/pi/FoodCircleDBT.db");
DBT.open();
提前致谢。
我的解决方案:实际上与代码相关的所有内容都运行良好,但是当我使用数据库程序编辑它时,我的数据库模式不知何故变得疯狂。因此,如果您遇到这种情况,我建议您打开命令行并检查您的架构。
我目前遇到一个错误,我从 query.lastError 得到 "Parameter count mismatch",我的绑定值是正确的(我已经测试过了)。
我的查询是:
QSqlQuery query(DBT);
query.prepare("SELECT Foto, Nombre, Apellido1, Apellido2, Curso, Grupo, FotoHuella FROM usuarios WHERE Nombre=:nombre1 OR Apellido1=:apellido1 OR Apellido2=:apellido2 OR Curso=:curso1 OR Grupo=:grupo1");
query.bindValue(":nombre1", nombre, QSql::Out);
query.bindValue(":apellido1", apellido1, QSql::Out);
query.bindValue(":apellido2", apellido2, QSql::Out);
query.bindValue(":curso1", curso, QSql::Out);
query.bindValue(":grupo1", grupo, QSql::Out);
query.exec();
如果您想知道这里是我设置数据库的地方:
QSqlDatabase DBT=QSqlDatabase::addDatabase("QSQLITE");
DBT.setDatabaseName("/home/pi/FoodCircleDBT.db");
DBT.open();
提前致谢。
我的解决方案:实际上与代码相关的所有内容都运行良好,但是当我使用数据库程序编辑它时,我的数据库模式不知何故变得疯狂。因此,如果您遇到这种情况,我建议您打开命令行并检查您的架构。