gpt4 book ai didi

sqlite - 从 QSqlQuery 检索行数,但得到 -1

转载 作者:行者123 更新时间:2023-12-03 17:31:11 28 4
gpt4 key购买 nike

我正在尝试获取 QSqlQuery 的行数,数据库驱动程序是 qsqlite

bool Database::runSQL(QSqlQueryModel *model, const QString & q)
{
Q_ASSERT (model);

model->setQuery(QSqlQuery(q, my_db));
rowCount = model->query().size();
return my_db.lastError().isValid();
}

这里的查询是选择查询,但我仍然得到 -1 ;

如果我使用 model->rowCount()我只得到显示的结果,例如 256,但 select count(*) 返回 120k 结果。

它有什么问题?

最佳答案

此行计数代码提取适用于基于 SQLite3 的表,并处理与某些 SQLite 版本相关的“fetchMore”问题。

QSqlQuery query( m_database );

query.prepare( QString( "SELECT * FROM MyDatabaseTable WHERE SampleNumber = ?;"));
query.addBindValue( _sample_number );

bool table_ok = query.exec();
if ( !table_ok )
{
DATABASETHREAD_REPORT_ERROR( "Error from MyDataBaseTable", query.lastError() );
}
else
{
// only way to get a row count, size function does not work for SQLite3
query.last();
int row_count = query.at() + 1;
qDebug() << "getNoteCounts = " << row_count;
}

关于sqlite - 从 QSqlQuery 检索行数,但得到 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16996071/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com