自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Winform框架之字典數(shù)據(jù)管理

開發(fā) 后端 數(shù)據(jù)管理
今天我們將談到的是Winform開發(fā)框架中字典數(shù)據(jù)管理,在字典數(shù)據(jù)數(shù)據(jù)管理工程項(xiàng)目中,我們看到有兩個(gè)不同的數(shù)據(jù)訪問層,工廠模式通過不同的配置,調(diào)用不同的數(shù)據(jù)訪問層。

  好久沒寫博客了,除了是工作較忙的原因外,其實(shí)是也一直在想如何整合我所有的開發(fā)經(jīng)驗(yàn)及技術(shù)積累,開發(fā)過很多Winform共享軟件、ASP.NET的WebForm項(xiàng)目,發(fā)現(xiàn)很多東西是相互關(guān)聯(lián)很緊密的,但往往我們太忙太懶,要好好整理,并整理出棒棒的一般比較難,但我們沒有停步,夢想總會慢慢接近并實(shí)現(xiàn)。在做了很多項(xiàng)目之后,發(fā)現(xiàn)人的惰性或者慣性很大,因此有機(jī)會得好好整理下開發(fā)的成功,優(yōu)化再優(yōu)化,用的時(shí)候就越來越順手了。

  在所有開發(fā)過的項(xiàng)目過程,很多如權(quán)限管理、字典數(shù)據(jù)管理模塊,都是非常常用的模塊,本文主要想介紹下提煉出來,各個(gè)項(xiàng)目均可通用的字典數(shù)據(jù)管理系統(tǒng)(或者叫做模塊更為適合),在介紹之前,我想介紹下我的整合路線及一些想法,如下所示:

  其中框架中所有介紹的內(nèi)容均為現(xiàn)有開發(fā)框架中有的東西及特性,如果要了解Winform框架的多維特點(diǎn),可以現(xiàn)在***的共享軟件《倉庫管理系統(tǒng)》,具體可以參考文章《從開發(fā)的軟件《備件倉庫管理系統(tǒng)》總結(jié)的一些經(jīng)驗(yàn)》進(jìn)行了解,該共享軟件除了整合眾多優(yōu)秀的功能外,一個(gè)特點(diǎn)就是數(shù)據(jù)管理模塊也得到了升華。

  在Winform框架中,其中權(quán)限管理系統(tǒng)、字典管理系統(tǒng),都是可以做成獨(dú)立的程序來使用,而且應(yīng)該可以在程序中引用來查詢或者獲取相關(guān)的字典數(shù)據(jù),如找某個(gè)鍵值的字典列表作為下拉列表,而且由于實(shí)際項(xiàng)目總,有點(diǎn)是SqlServer、有的是Access數(shù)據(jù)庫的,所以支持多數(shù)據(jù)庫是***的選擇。

  在字典數(shù)據(jù)數(shù)據(jù)管理工程項(xiàng)目中,我們看到有兩個(gè)不同的數(shù)據(jù)訪問層,工廠模式通過不同的配置,調(diào)用不同的數(shù)據(jù)訪問層,從而實(shí)現(xiàn)SqlServer、Access等數(shù)據(jù)庫的支持,當(dāng)然可以擴(kuò)展更多的數(shù)據(jù)庫支持,我們先來看看工程項(xiàng)目的視圖如下所示:

配置文件如下所示

  1.   <?xml version="1.0" encoding="utf-8" ?> 
  2.   <configuration> 
  3.   <configSections> 
  4.   <section name="dataConfiguration" 
  5. 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"/> 
  6.   </configSections> 
  7.   <connectionStrings> 
  8.   <add name="DataAccess" providerName="System.Data.OleDb" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:我的應(yīng)用程序數(shù)據(jù)字典SqlDictionaryWHC.Dictionary.UIinDebugOrderWater.mdb;User ID=Admin;Jet OLEDB:Database Password=;" /> 
  9.   <add name="DataAccess2" providerName="System.Data.SqlClient" 
  10. 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"/> 
  11.   </connectionStrings> 
  12.   <dataConfiguration defaultDatabase="DataAccess"/> 
  13.   <appSettings> 
  14.   <!--軟件名稱--> 
  15.   <add key="ApplicationName" value="深田之星倉庫管理系統(tǒng)"/> 
  16.   <!--開發(fā)商名稱--> 
  17.   <add key="Manufacturer" value="廣州愛啟迪技術(shù)有限公司"/> 
  18.   <!--數(shù)據(jù)字典的數(shù)據(jù)庫類型:access、sqlserver等--> 
  19.   <add key="ComponentDbType" value="access"/> 
  20.  </appSettings> 
  21.   </configuration> 

  我們通過DictionaryDbType來切換不同的數(shù)據(jù)庫,不用修改代碼實(shí)現(xiàn)多數(shù)據(jù)庫支持,當(dāng)然,不同的數(shù)據(jù)庫,需要創(chuàng)建不同的數(shù)據(jù)庫文件,不過數(shù)據(jù)庫結(jié)構(gòu)基本上是一致的。

  我們看看該字典管理模塊的最終效果,如下所示:

  字典數(shù)據(jù)模塊做成獨(dú)立的程序后,一個(gè)可以獨(dú)立運(yùn)行,也可以在宿主程序中通過DLL方式調(diào)用類庫來獲取字典數(shù)據(jù),如下所示:

  1.   private void InitDictItem()  
  2.   {  
  3.   this.txtManufacture.Items.Clear();  
  4.   this.txtManufacture.Items.AddRange(DictItemUtil.GetDictByDictType("供貨商"));  
  5.   this.txtBigType.Items.Clear();  
  6.   this.txtBigType.Items.AddRange(DictItemUtil.GetDictByDictType("備件屬類"));  
  7.   this.txtItemType.Items.Clear();  
  8.   this.txtItemType.Items.AddRange(DictItemUtil.GetDictByDictType("備件類別"));  
  9.   this.txtSource.Items.Clear();  
  10.   this.txtSource.Items.AddRange(DictItemUtil.GetDictByDictType("來源"));  
  11.   this.txtWareHouse.Items.Clear();  
  12.   this.txtWareHouse.Items.AddRange(DictItemUtil.GetAllWareHouse().ToArray());  
  13.   this.txtDept.Items.Clear();  
  14.   this.txtDept.Items.AddRange(DictItemUtil.GetDictByDictType("部門"));  
  15.   } 

  字典組件模塊調(diào)用例子Demo程序下載地址也一并提供下載,下載地址如下:

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

【編輯推薦】

  1. 淺談ASP.NET 4.0 SEO增強(qiáng)中的UrlRouting
  2. WPF與WinForm對比談 多線程編程優(yōu)化是關(guān)鍵
  3. 詳解Winform多線程編程基本原理
  4. 實(shí)戰(zhàn)ASP.NET大規(guī)模網(wǎng)站架構(gòu):Web加速器
  5. 專家暢談ASP.NET與PHP的未來
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2012-12-11 10:15:02

Winform開發(fā)框架

2023-01-04 09:54:02

2012-08-21 11:26:17

Winform

2022-05-24 15:06:57

AbilityeTS FA鴻蒙

2013-04-23 09:31:12

Winform開發(fā)框架

2023-04-28 07:34:35

數(shù)據(jù)管理數(shù)據(jù)資產(chǎn)管理

2019-12-06 10:29:29

云原生數(shù)據(jù)公共云

2023-10-31 07:06:50

運(yùn)營數(shù)據(jù)管理

2022-08-31 12:26:37

數(shù)據(jù)管理CDMC

2011-11-23 09:47:36

Winform

2016-11-04 12:46:25

2017-01-05 18:35:57

數(shù)據(jù)管理數(shù)據(jù)治理

2013-10-31 09:19:42

混合云混合云數(shù)據(jù)管理Data

2022-05-29 22:56:13

數(shù)據(jù)安全元數(shù)據(jù)

2024-02-26 09:15:05

2011-03-28 19:50:48

ibmdwDB2MDM

2022-07-07 10:00:17

數(shù)據(jù)管理大數(shù)據(jù)

2016-02-18 10:27:39

數(shù)據(jù)

2023-06-20 09:50:05

大數(shù)據(jù)數(shù)據(jù)管理

2018-09-05 21:07:06

數(shù)據(jù)管理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號