Winform框架之字典数据管理

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介:

好久没写博客了,除了是工作较忙的原因外,其实是也一直在想如何整合我所有的开发经验及技术积累,开发过很多Winform共享软件、ASP.NET的WebForm项目,发现很多东西是相互关联很紧密的,但往往我们太忙太懒,要好好整理,并整理出棒棒的一般比较难,但我们没有停步,梦想总会慢慢接近并实现。在做了很多项目之后,发现人的惰性或者惯性很大,因此有机会得好好整理下开发的成功,优化再优化,用的时候就越来越顺手了。

  在所有开发过的项目过程,很多如权限管理、字典数据管理模块,都是非常常用的模块,本文主要想介绍下提炼出来,各个项目均可通用的字典数据管理系统(或者叫做模块更为适合),在介绍之前,我想介绍下我的整合路线及一些想法,如下所示:

  其中框架中所有介绍的内容均为现有开发框架中有的东西及特性,如果要了解Winform框架的多维特点,可以现在最新的共享软件《仓库管理系统》,具体可以参考文章《从开发的软件《备件仓库管理系统》总结的一些经验》进行了解,该共享软件除了整合众多优秀的功能外,一个特点就是数据管理模块也得到了升华。

  在Winform框架中,其中权限管理系统、字典管理系统,都是可以做成独立的程序来使用,而且应该可以在程序中引用来查询或者获取相关的字典数据,如找某个键值的字典列表作为下拉列表,而且由于实际项目总,有点是SqlServer、有的是Access数据库的,所以支持多数据库是最好的选择。

  在字典数据数据管理工程项目中,我们看到有两个不同的数据访问层,工厂模式通过不同的配置,调用不同的数据访问层,从而实现SqlServer、Access等数据库的支持,当然可以扩展更多的数据库支持,我们先来看看工程项目的视图如下所示:

配置文件如下所示


字体:        | 上一篇 下一篇 | 打印  | 我要投稿 

<?xml version="1.0" encoding="utf-8" ?>  <configuration>  <configSections>  <section name="dataConfiguration"  type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data"/>type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data"/>type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data"/>  </configSections>  <connectionStrings>  <add name="DataAccess" providerName="System.Data.OleDb" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:我的应用程序数据字典SqlDictionaryWHC.Dictionary.UIinDebugOrderWater.mdb;User ID=Admin;Jet OLEDB:Database Password=;" />  <add name="DataAccess2" providerName="System.Data.SqlClient"  connectionString="Persist Security Info=False;Data Source=(local);Initial Catalog=Warehouse;User ID=sa;Password=123456"/>connectionString="Persist Security Info=False;Data Source=(local);Initial Catalog=Warehouse;User ID=sa;Password=123456"/>connectionString="Persist Security Info=False;Data Source=(local);Initial Catalog=Warehouse;User ID=sa;Password=123456"/>  </connectionStrings>  <dataConfiguration defaultDatabase="DataAccess"/>  <appSettings>  <!--软件名称-->  <add key="ApplicationName" value="深田之星仓库管理系统"/>  <!--开发商名称-->  <add key="Manufacturer" value="广州爱启迪技术有限公司"/>  <!--数据字典的数据库类型:access、sqlserver等-->  <add key="ComponentDbType" value="access"/>   </appSettings>  </configuration>

  我们通过DictionaryDbType来切换不同的数据库,不用修改代码实现多数据库支持,当然,不同的数据库,需要创建不同的数据库文件,不过数据库结构基本上是一致的。

  我们看看该字典管理模块的最终效果,如下所示:

  字典数据模块做成独立的程序后,一个可以独立运行,也可以在宿主程序中通过DLL方式调用类库来获取字典数据,如下所示:

private void InitDictItem()   {   this.txtManufacture.Items.Clear();   this.txtManufacture.Items.AddRange(DictItemUtil.GetDictByDictType("供货商"));   this.txtBigType.Items.Clear();   this.txtBigType.Items.AddRange(DictItemUtil.GetDictByDictType("备件属类"));   this.txtItemType.Items.Clear();   this.txtItemType.Items.AddRange(DictItemUtil.GetDictByDictType("备件类别"));   this.txtSource.Items.Clear();   this.txtSource.Items.AddRange(DictItemUtil.GetDictByDictType("来源"));   this.txtWareHouse.Items.Clear();   this.txtWareHouse.Items.AddRange(DictItemUtil.GetAllWareHouse().ToArray());   this.txtDept.Items.Clear();   this.txtDept.Items.AddRange(DictItemUtil.GetDictByDictType("部门"));   }

  字典组件模块调用例子Demo程序下载地址也一并提供下载,下载地址如下:

  http://files.cnblogs.com/wuhuacong/DictionaryDemo.rar


本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
数据库 数据管理 开发框架
|
28天前
|
Web App开发 缓存 数据库
DMS产品常见问题之DMS数据规定失败如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
4月前
|
数据管理 数据库 数据安全/隐私保护
数据管理与持久化:深度解析Docker数据卷
Docker 数据卷在容器化应用中扮演着关键角色,它们提供了一种灵活且可持久化的方式来处理应用数据。本文将深入讨论 Docker 数据卷的基本概念、使用方法以及一系列高级应用场景,通过更为丰富和实际的示例代码,帮助大家全面掌握数据卷的使用和管理。
|
1月前
|
SQL 数据采集 存储
数据仓库(12)数据治理之数仓数据管理实践心得
这边文章聊聊自己对数据治理开发实践的一些思路,就是聊聊怎么开始去做数据治理这件事情。说起数据治理,有时候虽然看了很多文章,看了很多的介绍,了解数据治理的理论,但是实际上需要我们去搞的时候,就会踩很多的坑。这里记一下自己做数据治理的一些思路,做做笔记,也分享给需要的同学。 当然,想要做数据治理,想要学习了解,一下数据治理的范围,理论等,最好可以看看别人怎么做的,了解数据治理可以参考:[数据仓库(11)什么是大数据治理,数据治理的范围是哪些](https://zhuanlan.zhihu.com/p/467433967)。
229 0
|
7月前
|
关系型数据库 分布式数据库 数据库
PolarDB MySQL通过DMS恢复误操作数据
本场景介绍日常访问PolarDB MySQL数据库时,由于操作导致数据不符合预期,需要将数据快速恢复到正常状态。误操作受影响的数据量在10万以内时,可使用DMS数据追踪的方式恢复数据。
134 0
|
3月前
|
存储 数据管理 数据挖掘
数据管理DMS:构建高效数据生态的关键
数据管理DMS:构建高效数据生态的关键
|
4月前
|
SQL 运维 安全
客户说|享道出行 x DMS,构建一站式高效、安全的数据运维管理平台
享道出行通过引入一站式运维管理系统DMS,有效地降低数据运维的复杂性,提升运维团队的工作效率,同时保障IT系统的稳定性和安全性,最终实现业务的持续性和稳定发展。
|
9月前
|
JSON 前端开发 JavaScript
Echarts实战案例代码(15):月收入年龄分段等MYSQL分类统计PHP后台数据管理接口API数据的解决方案
Echarts实战案例代码(15):月收入年龄分段等MYSQL分类统计PHP后台数据管理接口API数据的解决方案
129 0
|
4月前
|
数据管理
宜搭流程中,数据管理批量发起如何成功导入 年-月-日 时:分格式数据 当前数据管理批量发起,Excel文本中编辑时间格式如2023-12-07 20:00,批量导入生成后显示为20231207 00:00,请问如何让时:分正确显示。
宜搭流程中,数据管理批量发起如何成功导入 年-月-日 时:分格式数据 当前数据管理批量发起,Excel文本中编辑时间格式如2023-12-07 20:00,批量导入生成后显示为20231207 00:00,请问如何让时:分正确显示。
61 2
|
5月前
|
SQL 数据库管理
DMS数据归档
DMS数据归档
46 1