gpt4 book ai didi

c++ - 连接 QSqlDatabase 有什么区别?

转载 作者:行者123 更新时间:2023-11-28 06:36:35 27 4
gpt4 key购买 nike

很多QSqlDatabase的教程都是这样启动数据库的:

QSqlDatabase cn = QSqlDatabase::addDatabase("QSQLITE",QString::number(id));

会不会和这个不一样:

QSqlDatabase cn;
cn.addDatabase("QSQLITE",QString::number(id));

或者这个:

QSqlDatabase cn;
cn = QSqlDatabase::addDatabase("QSQLITE",QString::number(id));

最佳答案

QSqlDatabase::addDatabase 添加一个数据库到数据库连接列表并返回QSqlDatabase 所以

QSqlDatabase cn;
cn.addDatabase("QSQLITE",QString::number(id));

是错误的,它不会工作。 next当然是对的

QSqlDatabase cn;
cn = QSqlDatabase::addDatabase("QSQLITE",QString::number(id));

相当于

QSqlDatabase cn = QSqlDatabase::addDatabase("QSQLITE",QString::number(id));

正如指出的那样here您可以在类实例上调用 addDatabase。例如下一个代码也可以工作(但我认为我们不应该使用它):

QSqlDatabase sdb,plus;
plus = sdb.addDatabase("QSQLITE");
plus.setDatabaseName("G:/Database/test.db");

if (!plus.open())
{
qDebug() << "not open";
}

关于c++ - 连接 QSqlDatabase 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26681069/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com