# 数据库连接工具 基于 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()` - 设置数据库类型