qt - qt sqlite select语句

标签 qt sqlite select

我决定为我的Qt应用程序测试sqlite db。

我已经使用适当的语句创建了sqlite db文件(创建表等,并插入了一些数据行)。
我的问题是,当我执行select语句时,我没有任何记录。

这是我使用的代码:

qq.sprintf("SELECT * from descriptors WHERE descriptors.id=%d ",idx);
query.exec(qq);
if( query.isSelect() ){
    while (query.next()){

    int fff = query.value(0).toInt();


}}

问题是我从来没有进入while循环。 query.next()似乎不起作用。

有什么提示吗?
提前致谢,
Thodoris

ps我忘了写配置,所以:Qt 4.7.3,Windows 7,Visual Studio 2008

最佳答案

除了错误hexa,即使查询失败,query.isSelect()也将始终返回true。您需要检查exec()的结果:

QSqlQuery query;
query.prepare( "SELECT * FROM descriptors WHERE id = ?" );
query.bindValue( 0, idx ); // assuming idx is an integer/long/QVariant value

if( !query.exec() )
{
  // Error Handling, check query.lastError(), probably return
}

// Note: if you don't return in case of an error, put this into the else{} part
while( query.next() )
{
    int fff = query.value( 0 ).toInt();
}

关于qt - qt sqlite select语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6597659/

相关文章:

mysql - 使用 INSERT INTO 选择更新

c++ - 如何在Qt中的QTableview中定位我的按钮的行号

c++ - 基于 Q3DScatter 的自定义图表,QCustom3DItem 运行缓慢

c++ - 我可以在 .pro 文件中使用 Qt 安装路径变量吗?

android - 如何设计 SQLite DB 使其可用于多种语言?

android - SQLiteException : no such column: category, 但列确实存在

qt - QDir::count() 的实现是什么

javascript - sqlite 如何在 Firefox 插件中与 javascript 配合使用?

javascript - 单击选择选项后如何更新页面上的内容?

MySQL 结合 select sum 和 select 查询