C#数据库工具开发(一)

源码

查询我的Github:DBTool

开发日程

  1. 2019/07/09-/07/11

    sql server数据库连接+登录界面

    主界面+表单查询和显示
  2. 07/11-07/12

    登录配置文件

    oracle数据库连接
  3. 07/13-07/13

    读取保存数据库字段属性

    读取保存xml解析数据

    部分实现利用xml解析数据同步数据库(添加表)

    为主界面添加控件
  4. 07/13-07/13

    部分实现xml字段到sql字段映射

    xml导入配置页面

    部分实现利用xml解析数据同步数据库
  5. 07/16-07/16

    sql server和oracle数据库连接重构(sqlDataReader改用)

    xml导入创建新表

    部分实现xml与DB字段比较
  6. 07/17-07/17

    为比较页面(xml执行页面)添加字段长度项

    优化xml与DB字段比较

    用配置文件实现XML中字段类型映射

    界面优化
  7. 07/18-07/18

    增加logo

    增加数据库检索

    将SQL和Oracle显示table界面合二为一,删除SQL显示table界面中显示数据库的表(该功能与数据库检索重复)

    将字符串映射文件加入资源中
  8. 07/19-07/19

    更换logo,调整窗体

    增加拖拽文件直接加载功能

    优化字符串映射功能,避免bug

    对比界面自动刷新,优化显示

    增加同步数据库功能

    增加导出sql语句功能
  9. 07/20-07/20

    优化对比界面更改字段事件

    优化导出sql语句功能,避免线程卡死

    添加xml显示界面手动添加或删除字段并刷新比对的功能
  10. 07/24-07/24

    优化添加表完成后字段页面同步刷新

    优化添加表完成后导出sql语句

    优化添加表完成后表显示页面刷新

    修复修改字段不显示的bug

    新增特性返回表显示页面自动定位到最新改动的table
  11. 07/25-07/27

    添加索引列,新增设置索引功能

    增加索引同步功能(包括索引的增加、删除)

    重写数据库同步xml部分,优化索引的建立删除,使其能像其他字段一样简单使用

    xml执行界面添加用户误操作的警告和提示(如,用户添加字段名相同的行)
  12. 07/30-08/01

    优化对比界面(更好的对比显示,实现左右页面同步滚动)

    简化用户操作(现在不用点击就可以选到鼠标指定行,删除操作也更方便)

    更改logo
  13. 08/01-08/03

    添加单行同步与撤销操作功能

主要构成

  1. DBconnection:

    SQLServer数据库连接工具类

    主要功能:配置连接信息;打开、关闭数据库连接;执行sql语句获得结果(以ShowDatabaseList方法为例,用sql语句查询服务器中所有数据库名,将该结果存入sRead供前端窗口调用显示)
  2. FormLogin:

    登录窗口

    主要功能:获取连接信息
    更新:
    • 保存连接信息(记住密码)
    • 检索数据库(用于选择登入那个数据库)
  3. FormMainTableShow:

    主窗口

    主要功能:主要逻辑业务的展示和执行界面,包含各种响应事件(第一阶段后可查看连接到远程数据库中所有表格)

    更新:
    • 改为只用来展示数据库中所有表名和显示表信息
    • 提供选择xml文件的入口
  4. ConfigerManager:

    登陆信息实体类

    主要功能:方便实现存储登录记录实现写在FormLogin各种事件中
  5. DBconnnectionOracle:

    Oracle数据库连接工具类

    主要功能:与DBconnection相似
  6. FormXMLExecute:

    主要功能窗口

    主要功能:解析显示xml表结构,提供添加或同步数据库表/表结构的功能,提供修改xml列表实时验证两表差异性的功能
  7. MappingTool:

    映射java类型到数据库的字段类型的工具类
    主要功能:解析保存映射信息的xml,将java类型,转换成保存数据库字段类型和对应默认字段长度的Dictionary。
  8. XMLParsing:

    解析提供表结构的xml的工具类

    主要功能:将xml保存的表结构,解析出表名和字段名,字段类型
  9. ParsedInfo:

    xml信息的实体类

    主要功能:保存xml解析出来的表结构信息
  10. DBmodify:

    执行增删改数据库字段、增删索引的工具类
  11. RowRecord:

    记录DGV中行信息的实体类

    主要功能:保存对xml显示部分增删改之前的行信息,用于实现撤销操作

参考页面

  1. 关于数据库表结构