日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

信息系統的迅速開發(3)數據信息的提取

信息系統的迅速開發(3)數據信息的提取

更新時間:2022-04-27 文章作者:未知 信息來源:網絡 閱讀次數:

為了保持整個系統有足夠的擴展和足夠的彈性(能夠滿足災WebForm和WinForm中的使用,以及其他數據庫更新的來源,比如說Office 2003中InfoPath,以及WebService等等),我將整個DBForm的構架拆分為FormInfo類和SqlBuilder兩個基類,下面分別描述FormInfo類和SqlBuilder類的作用以及申明



FormInfo主要負責整個數據庫Field信息的抓取,主要包括了以下兩個方法:

/// 添加將要進行遍歷的容器、

public virtual void AppendContainer(object AContainer)

/// 添加單個控件

public virtual void AppendControl(object AControl)

/// 清除先前已經配置好的Form信息

public void ClearFormInfo()

主要提供了兩個虛方法,一個公開的ClearFormInfo方法,從方法名稱上面的含義大家看得很清楚了,整個FormInfo可以根據容器和單獨的控件進行添加,在這里,我有必要說明一下我的DBForm架構中針對Winform和WebForm的擴展,因為下面的WinFormInfo類和WebFormInfo類分別繼承自FormInfo,實現WinForm和WebForm的信息提取

再WinFormInfo和WebFormInfo中,主要是一個針對Container的循環,以及通過重寫AppendContainer實現

/// 添加將要進行遍歷的容器

public override void AppendContainer(object AContainer)

{

System.Web.UI.Control Container = (System.Web.UI.Control)AContainer;

foreach(Control AControl in Container.Controls)

{

this.DoAppendControl(AControl);

}

}

在下面的WebQueryForm和WebModifyForm中,就是實現具體的Form信息提取了。為什么要用這么多類的繼承呢?我覺得這樣的視線,主要有以下幾點好處

1. FormInfo類主要提供最公開的接口,以及一些基礎的方法(提供了一個protected的方法,用于將分析出的Form信息填充入FormInfoEntity中(窗體信息的描述類)

2. WinFormInfo和WebFormInfo類主要是把容器Object轉換成為具體的WinContrl和WebControl,并且調用相應的控件信息解析器,實現數據的提取。

3. 接下來的ModifyFormInfo和QueryFormInfo主要就提供了控件的信息解析器具體實現,根據具體的控件和具體的任務(Modify呢還是Query)分別解析出控件的信息,比如說QueryFormInfo中需要加入相關操作符號的信息(LIKE,=等等)

下面是具體控件的添加操作

private void DoAppendControl(System.Web.UI.Control AControl)

{

if (AControl is SmisNet.WebControl.SmisDropDown)

{

this.DoAppendDropDownList(AControl as SmisNet.WebControl.SmisDropDown);

}

else if (AControl is System.Web.UI.WebControls.TextBox)

{

this.DoAppendTextBox(AControl as SmisNet.WebControl.SmisTextBox);

}

else if (AControl is System.Web.UI.WebControls.ListBox)

{

this.DoAppendListBox((System.Web.UI.WebControls.ListBox)AControl);

}

}

其實這部分代碼寫得并不算優美,包括DoAppendDropDownList等方法都寫成了虛方法,有不少代碼的臭味到。其實不應該這樣的,只是因為我們現在的工作比較簡單(只有這三種窗體,不過我想包括了大多數信息系統開發的情況)如果您使用了其他的控件,可以考慮修改AControl is xxx,然后天加上自己的控件的處理方法,FormInfo就支持了新的控

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 久久婷婷是五月综合色狠狠 | 欧美成人免费观看国产 | 国产亚洲精品一区二区三区 | 女bbbbxxx| 性夜影院爽黄e爽痛轻点www | 欧美日本一区视频免费 | 能直接看的一级欧美毛片 | 九九色影院 | 久久亚洲成人 | 亚洲精品亚洲人成在线观看麻豆 | 亚洲国产日韩欧美在线a乱码 | 狠狠干天天射 | 日本一级在线播放线观看免 | 亚欧乱亚欧乱色视频免费 | 日本护士三级做爰在线观看 | 色天天综合色天天碰 | 狠狠久久精品 | 欧美精品人爱c欧美精品 | 爱搞逼综合网 | 久久午夜鲁丝片午夜精品 | 91视频无限看 | 久久这里只有精品视频99 | 碰碰碰人人澡人人爱摸 | 国产精品久久人人做人人爽 | 欧美一级特黄乱妇高清视频 | 国产在线观看美女福利精 | 天天干天天做天天操 | 91尤物国产尤物福利 | 91九色视频无限观看免费 | 99伊人网| 亚洲欧美日韩中文字幕一区二区三区 | 999精品视频在线 | 99热国产免费 | 久久免费视频在线 | 999国产高清在线精品 | 欧美 另类 精品一区视频 | 爆操波多野结衣 | 亚洲激情在线看 | 波多野结衣中文在线 | 国产播放 | 欧美日韩成人在线视频 |