• QSqlQuery::value: not positioned on a valid record


    在使用QSqlQuery查询数据并用query的结果value出现QSqlQuery::value: not positioned on a valid record错误

    query.prepare("select id,name from employee where name like :inputName");
    
        query.bindValue(":inputName",str);
    
        query.exec();
    
     // QString namestr=query.value(1).toString();  //如果这句放在这里的话出现上述错误
    
        if(query.first())
    
        {
    
            QString namestr=query.value(1).toString(); //放在此处则正确
    
            emit searchButton_clicked(namestr);
    
        }
    

    解决方法:QSqlQuery返回的数据集,record是停在第一条记录之前的。所以,你获得数据集后,必须执行next()或first()到第一条记录,这时候record才是有效的。否则,exec完直接value肯定报这个错

  • 相关阅读:
    多线程
    IO
    Collections工具类
    File类
    Map
    List与Set接口
    如何把数学作为一种工具
    包装类
    异常
    内部类
  • 原文地址:https://www.cnblogs.com/oakentree/p/4654416.html
Copyright © 2020-2023  润新知