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

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

信息系統的迅速開發(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就支持了新的控

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

本類教程下載

系統下載排行

主站蜘蛛池模板: 欧美大交乱xxxxbbbb | www免费| 中文字幕在线观看不卡视频 | 99精品欧美一区二区三区 | 99热免费| 久久精品一区二区三区日韩 | 国产精品天天看特色大片不卡 | 久久精品国产99国产精品免费看 | 久久精品夜夜春 | 欧美成狂野欧美在线观看 | xxxxwww一片 | 日本一二三精品黑人区 | 自拍偷拍 欧美日韩 | 亚洲日本欧美产综合在线 | 国产一久久香蕉国产线看观看 | 欧美日本亚洲国产一区二区 | 色综合亚洲欧美在线 | 亚洲精品视频在线免费 | 在线观看视频一区二区三区 | 精品日韩欧美一区二区三区在线播放 | 国产在线视频自拍 | 久久91综合国产91久久精品 | 中文字幕有码在线 | 日本一区二区三区不卡在线视频 | 5388国产亚洲欧美在线观看 | 欧美超大胆视频在线播放 | 人人看人人鲁狠狠高清 | 久久只有这才是精品99 | 日本三级午夜理伦三级三 | 久久夜色精品国产噜噜 | 国产午夜精品久久久久免费视 | 精品一区二区高清在线观看 | 久热这里只有精品99国产6 | 户外露出精品视频国产 | 狠狠躁夜夜躁人人爽天天段 | 性欧美长视频免费观看不卡 | 免费久久精品视频 | 中文字幕日韩在线观看 | 五月天综合激情网 | 欧美刺激午夜性久久久久久久 | 色综合久久一区二区三区 |