void SQL_Config::Read_Config(QString p) { //存放容器 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", "connect"); db.setDatabaseName("D://Qt//PUI//config.db"); // 使用正斜杠表示路径分隔符 if (!db.open()) { qDebug() << "数据库文件打开失败"; qDebug() << db.lastError().text(); // 输出错误信息 return; } qDebug() << "open success!" ; QSqlQuery query(db); query.prepare("SELECT * FROM config"); query.exec(); int count = query.size(); while(query.next()) { //遍历 info[count].fun = query.value("Fun").toString(); info[count].clas = query.value("Class").toString(); info[count].name = query.value("Name").toString(); info[count].X = query.value("X").toInt(); info[count].Y = query.value("Y").toInt(); info[count].W = query.value("W").toInt(); info[count].H = query.value("H").toInt(); count++; } } 程序异常结束
时间: 2024-04-18 19:31:45 浏览: 103
sql_new.rar_DEMO_QT_Qt数据库_qt sql_sqlite;数据库;
从你提供的代码来看,程序异常结束可能有以下几个原因:
1. 数据库文件路径错误:请确保数据库文件的路径是正确的。根据你的代码,数据库文件的路径是 "D://Qt//PUI//config.db"。请检查该路径是否存在,并且确保文件名拼写正确以及文件的读写权限。
2. 数据库驱动错误:你使用的是 SQLite 数据库,但是确保已正确添加了 SQLite 驱动程序。请确保在项目中添加了正确的 SQLite 驱动程序,并且与你的应用程序兼容。
3. 数据库连接未成功打开:在调用 `db.open()` 方法之后,你需要检查 `db.isOpen()` 的返回值,确保数据库连接成功打开。如果连接未成功打开,可能是由于数据库文件损坏、权限问题或驱动程序不匹配等原因。
4. 查询语句错误:请确保表名和字段名的拼写正确,并且确保数据库中存在名为 "config" 的表。如果表名或字段名错误,查询语句将无法执行成功,导致程序异常结束。
通过仔细检查以上问题,你应该能够找到导致程序异常结束的原因,并进行相应的修复。如果问题仍然存在,请提供更多的代码和错误信息,以便我能够更好地帮助你解决问题。
阅读全文