我是qt的新手。我在sql中创建了一个表,我试图做的是在用户添加数据时给出一个id。对于插入的第一件事,它将是1,第二个2,依此类推。那么如何检查最后一个是多少?我应该创建query.prepare(sql statement)
还是有其他方式?
答案 0 :(得分:3)
您正在寻找的方法是QSqlQuery::lastInsertId()
。引用the documentation:
返回数据库中最近插入的行的对象ID 支持它。如果查询没有,将返回无效的QVariant 插入任何值或数据库不报告该ID。如果 插入触摸了多行,行为是 未定义。
我可以从经验中确认,Qt中的SQLite数据库确实支持此功能。
您可以将变体转换为数据库ID,如下所示:
qint64 insertID = query.lastInsertId().toLongLong();