108 lines
3.5 KiB
Markdown
108 lines
3.5 KiB
Markdown
# 数据库连接工具
|
||
|
||
基于 ElaWidgetTools 框架实现的数据库连接界面。
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
Omnitool/
|
||
├── src/ # 源代码目录
|
||
│ ├── dialogs/ # 对话框组件
|
||
│ │ ├── ElaDatabaseConnectionDialog.h # 数据库连接对话框头文件
|
||
│ │ └── ElaDatabaseConnectionDialog.cpp # 数据库连接对话框实现
|
||
│ ├── mainwindow/ # 主窗口组件
|
||
│ │ ├── mainwindow.h # 主窗口头文件
|
||
│ │ └── mainwindow.cpp # 主窗口实现
|
||
│ └── utils/ # 工具类
|
||
│ ├── configmanager.h # 配置管理器头文件
|
||
│ └── configmanager.cpp # 配置管理器实现
|
||
├── 3rd/ # 第三方依赖
|
||
│ └── ElaWidgetTools/ # ElaWidgetTools 框架
|
||
├── bin/ # 编译输出目录
|
||
├── build/ # 构建目录
|
||
├── Omnitool.pro # Qt 项目文件
|
||
├── resources.qrc # Qt 资源文件
|
||
├── main.cpp # 主程序入口
|
||
└── README.md # 项目说明
|
||
```
|
||
|
||
## 功能特性
|
||
|
||
- 支持多种数据库类型:MySQL、PostgreSQL、SQLite、SQL Server、Oracle
|
||
- 数据库连接配置界面
|
||
- 连接测试功能
|
||
- 配置自动保存到 config.ini
|
||
- 美观的现代化UI设计(基于 ElaWidgetTools)
|
||
|
||
## 构建说明
|
||
|
||
### 环境要求
|
||
|
||
- Qt 5.15.2 或 Qt 6.6.2/6.6.3
|
||
- Qt Creator 或 qmake + mingw32-make
|
||
|
||
### 构建步骤
|
||
|
||
1. 将 ElaWidgetTools 框架放置到 `3rd/ElaWidgetTools` 目录,结构如下:
|
||
```
|
||
3rd/ElaWidgetTools/
|
||
├── include/ # 头文件
|
||
├── lib/ # 库文件
|
||
└── bin/ # DLL 文件
|
||
```
|
||
|
||
2. 使用 Qt Creator 打开 `Omnitool.pro`
|
||
|
||
3. 编译并运行
|
||
|
||
## 使用说明
|
||
|
||
1. 运行生成的可执行文件
|
||
2. 点击"打开数据库连接对话框"按钮
|
||
3. 填写数据库连接信息:
|
||
- 数据库类型:选择目标数据库类型
|
||
- 主机地址:数据库服务器地址
|
||
- 端口:数据库端口
|
||
- 数据库名:目标数据库名称
|
||
- 用户名:数据库用户名
|
||
- 密码:数据库密码
|
||
4. 点击"测试连接"验证连接配置
|
||
5. 点击"确定"保存配置(配置会自动保存到 config.ini)
|
||
|
||
## 文件说明
|
||
|
||
### src/dialogs/ElaDatabaseConnectionDialog
|
||
|
||
数据库连接对话框类,提供以下接口:
|
||
|
||
- `getDatabaseType()` - 获取数据库类型
|
||
- `getHostName()` - 获取主机地址
|
||
- `getPort()` - 获取端口
|
||
- `getDatabaseName()` - 获取数据库名
|
||
- `getUserName()` - 获取用户名
|
||
- `getPassword()` - 获取密码
|
||
- `setDatabaseType()` - 设置数据库类型
|
||
- `setHostName()` - 设置主机地址
|
||
- `setPort()` - 设置端口
|
||
- `setDatabaseName()` - 设置数据库名
|
||
- `setUserName()` - 设置用户名
|
||
- `setPassword()` - 设置密码
|
||
|
||
### src/utils/ConfigManager
|
||
|
||
配置管理器单例类,提供以下接口:
|
||
|
||
- `loadConfig(basePath)` - 加载配置文件
|
||
- `saveConfig()` - 保存配置文件
|
||
- `getDatabaseHost()` - 获取数据库主机
|
||
- `getDatabasePort()` - 获取数据库端口
|
||
- `getDatabaseUser()` - 获取数据库用户
|
||
- `getDatabasePassword()` - 获取数据库密码
|
||
- `getDatabaseName()` - 获取数据库名称
|
||
- `getDatabaseType()` - 获取数据库类型
|
||
- `setDatabaseHost()` - 设置数据库主机
|
||
- `setDatabasePort()` - 设置数据库端口
|
||
- `setDatabaseUser()` - 设置数据库用户
|
||
- `setDatabasePassword()` - 设置数据库密码
|
||
- `setDatabaseName()` - 设置数据库名称
|
||
- `setDatabaseType()` - 设置数据库类型 |