• 4485阅读
  • 1回复

关于查询SQLITE数据库的问题 [复制链接]

上一主题 下一主题
离线miracleno1
 

只看楼主 倒序阅读 楼主  发表于: 2010-04-30
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
sqlstr = "select * from t_user where f_name='" + name + "' and f_passwd ='" + passwd + "'";
    result = query.exec(sqlstr);
    qDebug() << "result " << result;
    result = query.result();
    if(!result || query.size() != 1) {
        QMessageBox::information(NULL, tr("User login"), tr("User login falise!"));
         qDebug() << "result " << result << " ; size " << query.size();
        while(query.next())
        {
            qDebug() << query.value(0).toInt() << query.value(1).toString() << query.value(2).toString();
        }
        qDebug() << sqlstr;
        return false;
    }


库里是有数据的,  
result = query.exec(sqlstr); 返回的是 false, 应该返回 true 才对吧

query.size() 返回的是 -1  查到一条数据,应该返回 1 才对吧

result 是 false, size() 返回 -1 的情况下, 可以输出一条数据, 查询应该是成功的.

我用的是SQLITE数据库, 请问, 这种情况下,怎么判断是否查询成功,

离线liqee

只看该作者 1楼 发表于: 2010-04-30
slqite的driver是不支持size()的,所以无论如何都是返回false.你可以用那个hasfeature()函数查看一下就知道了.
快速回复
限100 字节
 
上一个 下一个