• 4517阅读
  • 3回复

查询数据库出现问题 [复制链接]

上一主题 下一主题
离线limian
 
只看楼主 倒序阅读 楼主  发表于: 2007-06-20
— 本帖被 XChinux 执行加亮操作(2008-07-18) —
用的是mysql数据库,联接数据库没有问题,程序中我设置了个定时器,让它定时查询数据库,然后将结果放在数组中.
.h 中我定义了 int a[k],  in k=0
.cpp 中 的部分代码:
        QTimer *timer_query = new QTimer(this);

        connect(timer_query, SIGNAL(timeout()), this, SLOT(query_qianji()));

        timer_query->start(10000); 


        query_qianji()) 的实现如下:
  void lishiquxiandialog::query_qianji()

  QSqlQuery query_Propower;
  query_Propower.exec("select ID,ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8,ch9,ch10,ch11,ch12,ch13,ch14,ch15,ch16,ch17,ch18,ch19,ch20 from Propower  where ID=(select MAX(ID) from Propower )");
    //查询表 Propower中ID值最大的行
  a[k]=query_Propower.value(0).toInt();
  k++;
}

编译没有问题,程序可以运行,但在运行过程中每隔一段时间出现下面的问题:
QSqlQuery::value: not positioned on a valid record
估计是query_qianji()实现有问题,请教高手如何解决呢?


离线mileden

只看该作者 1楼 发表于: 2007-06-20
纪录没定位,试一下下面的方法:
while (query_Propower.next()) {
    .......
    }


Navigating records is performed with the following functions:
next()
previous()
first()
last()
seek()
离线limian
只看该作者 2楼 发表于: 2007-06-20
请问一下,每次只检索出一条记录,还要用query_Propower.next())  定位吗
离线limian
只看该作者 3楼 发表于: 2007-06-21
问题解决了 
确实要用query_Propower.next()定位
谢谢mileden
快速回复
限100 字节
 
上一个 下一个