![](/img/trans.png)
[英]How to get after executing INSERT into database fetch id of inserted row?
[英]How to get the ID from a newly inserted row with QSqlQuery and SQLite?
我有一个表T
,它有一个字段id
,它是一个INTEGER PRIMARY KEY AUTOINCREMENT
和一个INTEGER
字段f
。 使用 Qt5,我插入一行代码如下:
QSqlQuery insert;
insert.exec("INSERT INTO T (f) VALUES (0)");
但是如何获取新插入字段的id
呢?
你必须使用lastInsertId()
的方法QSqlQuery
:
QSqlDatabase db = QSqlDatabase::database();
if(db.driver()->hasFeature(QSqlDriver::LastInsertId)){
QSqlQuery insert;
bool res = insert.exec("INSERT INTO T (f) VALUES (0)");
Q_ASSERT(res);
QVariant id = insert.lastInsertId();
Q_ASSERT(id.isValid() && !id.isNull());
qDebug() << id.toInt();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.