qt操作 数据库崩溃

query.exec(查询的内容);if(!query.isActive())QMessageBox::warning(this,tr("ERROR"),query.la... query.exec(查询的内容);
if(!query.isActive())
QMessageBox::warning(this,tr("ERROR"),query.lastError().text());

while(query.next())当执行到这步时,有时会程序突然结束。

调试显示

&"warning: GDB: Failed to set controlling terminal: \346\227\240\346\225\210\347\232\204\345\217\202\346\225\260\n"
ASSERT: "!isEmpty()" in file /usr/include/qt4/QtCore/qlist.h, line 263
什么意思呀

这是263行 inline T& first() { Q_ASSERT(!isEmpty()); return *begin(); }
展开
 我来答
777999666qhw
推荐于2016-07-19 · TA获得超过4871个赞
知道大有可为答主
回答量:5615
采纳率:25%
帮助的人:4674万
展开全部
这样用:
query.exec("select * from student");
while(query.next())
{
qDebug() << query.value(0).toInt() << query.value(1).toString();
}
或者
if(query.next())
//开始就先执行一次next()函数,那么query指向结果集的第一条记录
{

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式