QT封装一个访问不同数据库的类
时间: 2023-08-15 12:03:11 浏览: 96
好的,我可以为您提供一个简单的示例代码。首先,您需要在Qt中使用QSqlDatabase类来连接不同的数据库。以下是示例代码:
```cpp
#include <QSqlDatabase>
#include <QSqlQuery>
class DatabaseManager {
public:
DatabaseManager();
bool openDatabase(QString hostname, QString databaseName, QString username, QString password);
void closeDatabase();
bool executeQuery(QString query);
private:
QSqlDatabase m_database;
};
DatabaseManager::DatabaseManager()
{
//初始化数据库连接
m_database = QSqlDatabase::addDatabase("QMYSQL");
}
bool DatabaseManager::openDatabase(QString hostname, QString databaseName, QString username, QString password)
{
m_database.setHostName(hostname);
m_database.setDatabaseName(databaseName);
m_database.setUserName(username);
m_database.setPassword(password);
if(m_database.open()) {
//连接成功
return true;
} else {
//连接失败
return false;
}
}
void DatabaseManager::closeDatabase()
{
m_database.close();
}
bool DatabaseManager::executeQuery(QString query)
{
QSqlQuery sqlQuery(m_database);
if(sqlQuery.exec(query)) {
//执行成功
return true;
} else {
//执行失败
return false;
}
}
```
上述代码将创建一个DatabaseManager类,该类包含了连接不同数据库的方法。您可以调用openDatabase()方法来连接数据库,调用closeDatabase()方法来关闭数据库。executeQuery()方法可用于执行查询并返回执行结果。使用此类,您可以轻松地访问不同的数据库。
阅读全文