qt读取配置文件,创建多张数据库表
时间: 2024-01-10 22:48:51 浏览: 89
要读取配置文件并创建多张数据库表,你需要使用 Qt 的 QSettings 类来读取配置文件中的数据库连接信息,然后使用 QSqlDatabase 类来连接数据库并创建表。
以下是一个简单的示例代码,假设你的配置文件是一个 INI 文件,包含了数据库连接的信息:
```
[database]
driver=mysql
host=localhost
port=3306
database=test
username=root
password=
[tables]
table1=create table if not exists table1 (id int primary key, name varchar(20));
table2=create table if not exists table2 (id int primary key, value int);
```
接下来,你可以使用以下代码来读取配置文件并创建多张数据库表:
```cpp
// 读取配置文件
QSettings settings("config.ini", QSettings::IniFormat);
QString driver = settings.value("database/driver").toString();
QString host = settings.value("database/host").toString();
int port = settings.value("database/port").toInt();
QString databaseName = settings.value("database/database").toString();
QString username = settings.value("database/username").toString();
QString password = settings.value("database/password").toString();
// 连接数据库
QSqlDatabase db = QSqlDatabase::addDatabase(driver);
db.setHostName(host);
db.setPort(port);
db.setDatabaseName(databaseName);
db.setUserName(username);
db.setPassword(password);
if (!db.open()) {
qDebug() << "Failed to connect to database";
return;
}
// 创建表
QStringList tables = settings.value("tables", QStringList()).toStringList();
foreach (QString table, tables) {
QSqlQuery query(table, db);
if (!query.exec()) {
qDebug() << "Failed to create table: " << query.lastError().text();
}
}
```
注意,这只是一个简单的示例代码,实际情况中你需要根据自己的需求进行修改和完善。
阅读全文