Qt SQLite没有查询或参数计数不匹配
Qt SQLite no query or parameter count mismatch
在接收两个不同的错误之间摇摆不定。
void summary::on_pushButton_saveSummary_clicked()
{
if(db.open())
{
query.exec("insert or replace into [PN:"+partNum+" CN:"+chargeNum+"](total, defects, rust) values(1, 2, 3)");
if (!query.exec())
{
qDebug() << query.lastError();
qDebug() << query.exec()<<endl;
}
}
else
{
qDebug() << db.lastError();
}
}
上面给出了错误:QSqlError(","无法获取行","无查询"(
While:
void summary::on_pushButton_saveSummary_clicked()
{
if(db.open())
{
qDebug() << "db open";
int a = 3;
int b = 1;
int c = 3;
query.prepare("insert into [PN:"+partNum+" CN:"+chargeNum+"](total, defects, rust) values(:total, :defects, :rust)");
query.bindValue(":total", a);
query.bindValue(":defects", b);
query.bindValue(":rust", c);
if (!query.exec())
{
qDebug() << query.lastError();
qDebug() << query.exec()<<endl;
}
}
else
{
qDebug() << db.lastError();
}
}
收益率:QSqlError(","参数计数不匹配","(
建造商有:
db.setDatabaseName("/home/igraves/Databases/testdb");
db.open();
QString partNum = "134345";
QString chargeNum = "3452";
query.prepare("create table if not exists [PN:"+partNum+" CN:"+chargeNum+"](total int, defects int, rust int)");
query.exec();
表正在创建中,我可以看到它。所以我在猜测语法?尽管它是Qt维基写的…
编辑:添加一些.h内容
QString partNum;
QString chargeNum;
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
QSqlQuery query;
答:我的QString变量是临时的,在构造函数完成后,它们就超出了范围。更改了我的.h
QString partNum = "124124";
QString chargeNum = "234234";
我至少看到以下错误:
- 您不设置数据库路径
- 创建表时不要打开数据库
- "134345"answers"3452"被分配给临时变量,而不是类成员
考虑到以上情况,构造函数中必须包含以下内容:
partNum = "134345";
chargeNum = "3452";
db.setDatabaseName("/path/of/database.db");
if(db.open())
query.exec(QString("create table if not exists [PN:%1 CN:%2](total int, defects int, rust int)")
.arg(partNum)
.arg(chargeNum));
相关文章:
- Qt SQLite没有查询或参数计数不匹配
- 模板参数推导失败,函数参数/参数不匹配
- C++模板/别名 - 模板参数列表中参数 1 处的类型/值不匹配
- 错误:"模板<类_Tp,类_Dp>类 std::unique_ptr"的模板参数列表中参数 1 的类型/值不匹配
- 为什么使用不匹配的参数调用重载函数仍然有效
- 没有函数模板的实例与我不知道为什么的参数列表匹配
- 程序告诉我,即使它们明显匹配,参数也不匹配
- 模板参数'(type)0'与'EnumValue'不匹配
- 将构造函数添加到boost.python子类导致参数不匹配错误
- LPCSTR和wchar_t问题.由于参数不匹配,导致链接器错误
- 为什么可以将std::bind分配给参数不匹配的std::函数
- C++中的默认参数不匹配
- 布尔类型的参数不匹配
- 方法调用C++/数字参数不匹配
- NULL 与模板参数不匹配?
- C++ - 模板 + 'using' 子句 - 参数不匹配错误
- c++代码中的参数不匹配错误
- QT5迁移和Boost:if.hp:宏参数不匹配错误
- 为什么函数原型中的参数数量与定义中的参数不匹配
- 为什么我的函数参数不匹配