|
1Qter豆
我用sqliteman建了个文件,里面有4张表,每张表都非空,如下图。
我在程序启动时打开这个这个数据库,并获取里面的所有表的名字,并显示在ComboBox控件上。
部分代码如下:- if (connect("mcu_list.db"))
- {
- QSqlDatabase db;
- QStringList strList;
- strList = db.tables();
- ui->cb_mcuTypy->addItems(strList);
- }
复制代码 连接函数的带如下:- bool MainWindow::connect(const QString &dbName)
- {
- QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
- db.setDatabaseName(dbName);
- if (false == db.open())
- {
- QMessageBox::critical(0, QObject::tr("Database Error"),
- db.lastError().text());
- return false;
- }
- return true;
- }
复制代码 我把建立好的mcu_list.db文件放在项目的debug文件夹下,程序编译通过,程序运行不报错,但是ComboBox控件上无内容。debug发现db.tables()没有获取到任何表的信息。既然都连上了,应该有点信息返回的。接着我把debug目录下的mcu_list.db文件删除,程序竟然不报错,文件都没了,还能连得上么?到底哪里出了问题啊,求解释。
|
|