首页| 论坛| 消息

标题:QSqlQuery 查询最后插入sqlite的id号
作者:twodiamond
日期:2016-05-10 16:49
内容:

请问:
每次开机时需要查询当前数据库中最后一条数据的ID号,使用下面语句:
QSqlQuery query(QSqlDatabase::database());
query.exec( "select last_insert_rowid() from Table" )
if(query.next())
{
rows = query.value(0).toUInt();
}
但每次,rows都为0.

该如何查询呢?
谢谢!


#1 [never_forget 05-10 20:14]
你这个方法用得不对啊。没有用过你这种方法。不过这个你可以看看,再看看文档也行。

再有问题可以找我聊聊,共勉。。。
#2 [stlcours 05-10 21:48]
我是这样写的,每次都能获得最后一个ID没有问题:
QSqlQuery sql_query(m_database);
int res = 0;
sql_query.prepare(insert_sql);
if(!sql_query.exec()) {
qDebug()
#3 回 never_forget 的帖子 [twodiamond 05-12 11:53]
never_forget:你这个方法用得不对啊。没有用过你这种方法。不过这个你可以看看,再看看文档也行。

再有问题可以找我聊聊,共勉。。。 (2016-05-10 20:14) 
你这个用的是QSqlQueryModel,用rowCount是可以的
我用的是QSqlQuery,没有这个接口。
非常感谢!

回复 发表
主题 版块