繁体   English   中英

如何使用 QSqlQuery 和 SQLite 从新插入的行中获取 ID?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM