161 lines
2.8 KiB
C++
161 lines
2.8 KiB
C++
#include "databaseAPI.h"
|
|
|
|
|
|
/**
|
|
* @brief 使用QSqlDatabase类初始化对象
|
|
* @param database 传入的QSqlDatabase对象
|
|
* @return void
|
|
* @author 柯劲帆
|
|
* @date 2024-07-28
|
|
*/
|
|
Database::Database(QSqlDatabase database)
|
|
{
|
|
db = database;
|
|
db.setDatabaseName(databaseName);
|
|
db.setUserName(userName);
|
|
}
|
|
|
|
|
|
/**
|
|
* @brief 使用QSqlDatabase类、IP、端口、密码初始化对象
|
|
* @param database 传入的QSqlDatabase对象
|
|
* @param hostName 数据库IP
|
|
* @param port 数据库端口
|
|
* @param password 数据库密码
|
|
* @return void
|
|
* @author 柯劲帆
|
|
* @date 2024-07-28
|
|
*/
|
|
Database::Database(QSqlDatabase database, QString hostName, int port, QString password)
|
|
{
|
|
db = database;
|
|
db.setDatabaseName(databaseName);
|
|
db.setUserName(userName);
|
|
db.setHostName(hostName);
|
|
db.setPort(port);
|
|
db.setPassword(password);
|
|
}
|
|
|
|
|
|
/**
|
|
* @brief 获取database属性
|
|
* @param void
|
|
* @return 返回QSqlDatabase类database属性
|
|
* @author 柯劲帆
|
|
* @date 2024-07-28
|
|
*/
|
|
QSqlDatabase Database::getDatabase()
|
|
{
|
|
return db;
|
|
}
|
|
|
|
|
|
/**
|
|
* @brief 设置hostName属性
|
|
* @param hostName 数据库IP
|
|
* @return void
|
|
* @author 柯劲帆
|
|
* @date 2024-07-28
|
|
*/
|
|
void Database::setHostName(QString hostName)
|
|
{
|
|
db.setHostName(hostName);
|
|
}
|
|
|
|
|
|
/**
|
|
* @brief 获取hostName属性
|
|
* @param void
|
|
* @return 返回QString类hostName属性
|
|
* @author 柯劲帆
|
|
* @date 2024-07-28
|
|
*/
|
|
QString Database::getHostName()
|
|
{
|
|
return db.hostName();
|
|
}
|
|
|
|
|
|
/**
|
|
* @brief 设置port属性
|
|
* @param port 数据库端口
|
|
* @return void
|
|
* @author 柯劲帆
|
|
* @date 2024-07-28
|
|
*/
|
|
void Database::setPort(int port)
|
|
{
|
|
db.setPort(port);
|
|
}
|
|
|
|
|
|
/**
|
|
* @brief 获取port属性
|
|
* @param void
|
|
* @return 返回int类port属性
|
|
* @author 柯劲帆
|
|
* @date 2024-07-28
|
|
*/
|
|
int Database::getPort()
|
|
{
|
|
return db.port();
|
|
}
|
|
|
|
|
|
/**
|
|
* @brief 设置password属性
|
|
* @param password 数据库密码
|
|
* @return void
|
|
* @author 柯劲帆
|
|
* @date 2024-07-28
|
|
*/
|
|
void Database::setPassword(QString password)
|
|
{
|
|
db.setPassword(password);
|
|
}
|
|
|
|
|
|
/**
|
|
* @brief 数据库是否已经连接
|
|
* @param void
|
|
* @return 数据库连接状态
|
|
* - true 已连接
|
|
* - false 未连接
|
|
* @author 柯劲帆
|
|
* @date 2024-07-28
|
|
*/
|
|
bool Database::is_connected()
|
|
{
|
|
return connected;
|
|
}
|
|
|
|
/**
|
|
* @brief 连接数据库
|
|
* 会将连接结果更新到connect属性上。
|
|
* @param void
|
|
* @return 数据库连接状态
|
|
* - true 已连接
|
|
* - false 未连接
|
|
* @author 柯劲帆
|
|
* @date 2024-07-28
|
|
*/
|
|
bool Database::open()
|
|
{
|
|
connected = db.open();
|
|
return connected;
|
|
}
|
|
|
|
|
|
/**
|
|
* @brief 释放对象
|
|
* 会将数据库连接关闭。
|
|
* @param void
|
|
* @return void
|
|
* @author 柯劲帆
|
|
* @date 2024-07-28
|
|
*/
|
|
Database::~Database()
|
|
{
|
|
db.close();
|
|
}
|