欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

表單保存方法及系統(tǒng)與流程

文檔序號(hào):12748159閱讀:1549來源:國(guó)知局
表單保存方法及系統(tǒng)與流程
本發(fā)明涉及數(shù)據(jù)處理
技術(shù)領(lǐng)域
,具體涉及一種表單保存方法及系統(tǒng)。
背景技術(shù)
:Asp.net開發(fā)系統(tǒng)中都會(huì)有數(shù)據(jù)錄入界面,一般界面中的數(shù)據(jù)分為兩類,一類是保存后,作為事后分析的數(shù)據(jù),一類是只供審批人看或者確認(rèn)的;但是無論哪種,一般都需要在數(shù)據(jù)庫(kù)中創(chuàng)建對(duì)應(yīng)字段才能將數(shù)據(jù)保存起來;目前常用的表單保存方法是:在數(shù)據(jù)庫(kù)中創(chuàng)建好這些字段,在asp.net頁面中寫好與數(shù)據(jù)庫(kù)中的字段一一對(duì)應(yīng)的程序,最后調(diào)用數(shù)據(jù)庫(kù)訪問層insert或者update進(jìn)行保存,同理,在事后瀏覽顯示的時(shí)候,也需要通過訪問層拿到記錄,并通過寫代碼一行一行的賦值給頁面控件;即使系統(tǒng)是通過自定義表單的方法,不用每個(gè)表單單獨(dú)寫代碼進(jìn)行保存和顯示,單刷自定義表單依舊是首先在數(shù)據(jù)庫(kù)中創(chuàng)建字段;這樣一來,在增加表單屬性的時(shí)候,就需要對(duì)應(yīng)增加一個(gè)數(shù)據(jù)庫(kù)字段,對(duì)于給客戶開發(fā)的實(shí)時(shí)系統(tǒng),很多客戶都需要自定義表單屬性,需要定義大量的新表和數(shù)據(jù)庫(kù)字段,數(shù)據(jù)庫(kù)維護(hù)非常復(fù)雜;而且系統(tǒng)移植性不好,一個(gè)系統(tǒng)移植到另一個(gè)系統(tǒng)經(jīng)常因?yàn)閿?shù)據(jù)庫(kù)字段的缺少等原因出現(xiàn)版本問題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于提出一種表單保存方法及系統(tǒng),能夠?qū)⒈韱涡畔⑼ㄟ^一個(gè)統(tǒng)一的算法序列化成XML數(shù)據(jù)并保存到數(shù)據(jù)庫(kù)中,提高了操作效率,便于修改。為達(dá)此目的,本發(fā)明采用以下技術(shù)方案:作為本發(fā)明的一個(gè)方面,提供的一種表單保存方法,包括:讀取表單數(shù)據(jù);解析表單數(shù)據(jù),將所述表單數(shù)據(jù)序列化;將序列化數(shù)據(jù)以可擴(kuò)展標(biāo)記語言XML的形式保存到數(shù)據(jù)庫(kù)中??蛇x地,所述將序列化數(shù)據(jù)以可擴(kuò)展標(biāo)記語言XML的形式保存到數(shù)據(jù)庫(kù)中之后還包括:從數(shù)據(jù)庫(kù)中讀取XML形式的序列化數(shù)據(jù),并對(duì)所述序列化數(shù)據(jù)進(jìn)行反序列化處理,以得到所述表單數(shù)據(jù);將所述表單數(shù)據(jù)顯示到頁面上??蛇x地,所述解析表單數(shù)據(jù),將所述表單數(shù)據(jù)序列化具體為:對(duì)所述表單數(shù)據(jù)進(jìn)行清洗、識(shí)別、組合,并以所述表單數(shù)據(jù)中的控件ID作為標(biāo)簽名稱,以所述表單數(shù)據(jù)中的控件值作為標(biāo)簽值,將所述標(biāo)簽名稱和標(biāo)簽值組成序列化數(shù)據(jù)。可選地,所述將序列化數(shù)據(jù)以可擴(kuò)展標(biāo)記語言XML的形式保存到數(shù)據(jù)庫(kù)中包括:選取所述序列化數(shù)據(jù)中需要統(tǒng)計(jì)的表單字段,在數(shù)據(jù)庫(kù)中建立對(duì)應(yīng)的數(shù)據(jù)庫(kù)字段,并建立所述表單字段和所述數(shù)據(jù)庫(kù)字段之間的映射關(guān)系??蛇x地,所述表單數(shù)據(jù)包括:輸入元素、輸入框、列表及下拉菜單。作為本發(fā)明的另一個(gè)方面,提供的一種表單保存系統(tǒng),包括:讀取模塊,用于讀取表單數(shù)據(jù);序列化模塊,用于解析表單數(shù)據(jù),將所述表單數(shù)據(jù)序列化;保存模塊,用于將序列化數(shù)據(jù)以可擴(kuò)展標(biāo)記語言XML的形式保存到數(shù)據(jù)庫(kù)中??蛇x地,還包括:反序列化模塊,用于從數(shù)據(jù)庫(kù)中讀取XML形式的序列化數(shù)據(jù),并對(duì)所述序列化數(shù)據(jù)進(jìn)行反序列化處理,以得到所述表單數(shù)據(jù);顯示模塊,用于將所述表單數(shù)據(jù)顯示到頁面上??蛇x地,所述序列化模塊具體為:對(duì)所述表單數(shù)據(jù)進(jìn)行清洗、識(shí)別、組合,并以所述表單數(shù)據(jù)中的控件ID作為標(biāo)簽名稱,以所述表單數(shù)據(jù)中的控件值作為標(biāo)簽值,將所述標(biāo)簽名稱和標(biāo)簽值組成序列化數(shù)據(jù)??蛇x地,所述保存模塊包括:映射單元,用于選取所述序列化數(shù)據(jù)中需要統(tǒng)計(jì)的表單字段,在數(shù)據(jù)庫(kù)中建立對(duì)應(yīng)的數(shù)據(jù)庫(kù)字段,并建立所述表單字段和所述數(shù)據(jù)庫(kù)字段之間的映射關(guān)系??蛇x地,所述表單數(shù)據(jù)包括:輸入元素、輸入框、列表及下拉菜單。相較于現(xiàn)有技術(shù),本發(fā)明的有益效果為:一種表單保存方法及系統(tǒng),該方法包括:讀取表單數(shù)據(jù);解析表單數(shù)據(jù),將所述表單數(shù)據(jù)序列化;將序列化數(shù)據(jù)以可擴(kuò)展標(biāo)記語言XML的形式保存到數(shù)據(jù)庫(kù)中,本發(fā)明將表單信息通過一個(gè)統(tǒng)一的算法序列化成XML數(shù)據(jù)并保存到數(shù)據(jù)庫(kù)中,提高了操作效率,便于修改,兼容性好。附圖說明圖1是本發(fā)明實(shí)施例一提供的一種表單保存方法流程圖;圖2是本發(fā)明實(shí)施例一提供的表單數(shù)據(jù)示例圖;圖3是本發(fā)明實(shí)施例一提供的另一種表單保存方法流程圖;圖4是本發(fā)明實(shí)施例一提供的建立所述表單字段和所述數(shù)據(jù)庫(kù)字段之間的映射關(guān)系的具體代碼;圖5是本發(fā)明實(shí)施例二提供的一種表單保存系統(tǒng)示范性結(jié)構(gòu)框圖;圖6是本發(fā)明實(shí)施例二提供的另一種表單保存系統(tǒng)示范性結(jié)構(gòu)框圖。具體實(shí)施方式下面結(jié)合圖1-圖6并通過具體實(shí)施方式來進(jìn)一步說明本發(fā)明的技術(shù)方案。實(shí)施例一圖1是本實(shí)施例提供的一種表單保存方法流程圖。在本實(shí)施例中,一種表單保存方法,包括:S10、讀取表單數(shù)據(jù);S20、解析表單數(shù)據(jù),將所述表單數(shù)據(jù)序列化;S30、將序列化數(shù)據(jù)以可擴(kuò)展標(biāo)記語言XML的形式保存到數(shù)據(jù)庫(kù)中。在本實(shí)施例中,將表單信息通過一個(gè)統(tǒng)一的算法序列化成XML數(shù)據(jù)并保存到數(shù)據(jù)庫(kù)中,提高了操作效率,便于修改,兼容性好。在本實(shí)施例中,如圖2所示,為一表單數(shù)據(jù)-日常報(bào)銷單的示例圖,針對(duì)該表單數(shù)據(jù),系統(tǒng)執(zhí)行保存數(shù)據(jù)的過程中涉及到以下表格中的系統(tǒng)文件:Step2.ascx表單錄入文件Step2Map.XML表單中輸入項(xiàng)與數(shù)據(jù)庫(kù)字段映射文件Step2View.ascx表單瀏覽文件首先,執(zhí)行步驟S10、讀取表單數(shù)據(jù),具體為:點(diǎn)擊圖2中的日常報(bào)銷單,鏈接會(huì)將此表單的ID發(fā)送給表單容器,表單容器根據(jù)ID找到表單模板Step2.ascx原始文件,進(jìn)行加載;加載后,顯示填制頁面,進(jìn)行填寫表頭信息、表明細(xì)等,在表單中填寫完信息后,點(diǎn)擊提交,表單容器開始處理并抓取數(shù)據(jù)。其次,執(zhí)行步驟S20,系統(tǒng)通過Request.Form拿到所以表單中的數(shù)據(jù),并進(jìn)行清洗,識(shí)別、組合、序列后組成字符串,字符串以表單中的控件ID作為標(biāo)簽的名稱,控件的值作為標(biāo)簽的值,從而組合成字符串,數(shù)據(jù)庫(kù)創(chuàng)建一張表帶有XML類型的字段,專門存放此XML的信息。在本實(shí)施例中,如步驟S30所述,系統(tǒng)充分利用了XML保存數(shù)據(jù)的優(yōu)越性,如XML與數(shù)據(jù)庫(kù)表可以相互轉(zhuǎn)換,思想基本一致,還有就是XML是字符串,保存方便。在本實(shí)施例中,本發(fā)明是基于asp.net系統(tǒng),asp.net系統(tǒng)是運(yùn)行在服務(wù)端的一種語言,所有的數(shù)據(jù)處理都在服務(wù)端運(yùn)行;例如,在步驟S30的過程中,asp.net系統(tǒng)首先創(chuàng)建一個(gè)表單,表單上面排列各種asp.net的服務(wù)端輸入控件,比如asp:TextBox類型的ID=tbxApplyId和ID=tbxCountryName,asp:DropDownListID=ddlStatus;asp:RadioButtonListID=radioCustomer等,在包括多行asp:GridView中的模板列;在輸入框tbxApplyId中輸入:奧巴馬,在tbxCountryName中輸入:美國(guó),表單提交后,這些控件元素全部被發(fā)送到服務(wù)端,服務(wù)端接收這些信息后,遍歷所有的控件,拿到控件的ID和值,放到哈希表中;然后將哈希表進(jìn)行序列化,將ID作為標(biāo)簽,值作為值,如<tbxApplyId>奧巴馬</tbxApplyId><tbxCountryName>美國(guó)</tbxCountryName>;對(duì)于asp:GridView中的模板列數(shù)據(jù),asp.net會(huì)自動(dòng)將每行的模板控件命名新的ID,比如第一行為GridView_ct02_tbxDate,那么我們序列化成<GridView_ct02_tbxDate>2016-1-1</GridView_ct02_tbxDate>,那么無論界面怎么變化,只要ID不變,系統(tǒng)都能識(shí)別數(shù)據(jù),并且跟控件對(duì)應(yīng)起來,同時(shí)這種XML如果保存到數(shù)據(jù)庫(kù),利用數(shù)據(jù)庫(kù)提供的XML查詢方法,可以跟sql語句一樣進(jìn)行查詢,非常方便。如圖3所示,在本實(shí)施例中,所述步驟S30之后還包括:S40、從數(shù)據(jù)庫(kù)中讀取XML形式的序列化數(shù)據(jù),并對(duì)所述序列化數(shù)據(jù)進(jìn)行反序列化處理,以得到所述表單數(shù)據(jù);S50、將所述表單數(shù)據(jù)顯示到頁面上,以便于事后查詢或者事后修改。在本實(shí)施例中,所述將序列化數(shù)據(jù)以可擴(kuò)展標(biāo)記語言XML的形式保存到數(shù)據(jù)庫(kù)中包括:選取所述序列化數(shù)據(jù)中需要統(tǒng)計(jì)的表單字段,在數(shù)據(jù)庫(kù)中建立對(duì)應(yīng)的數(shù)據(jù)庫(kù)字段,并建立所述表單字段和所述數(shù)據(jù)庫(kù)字段之間的映射關(guān)系。在本實(shí)施例中,圖4為建立所述表單字段和所述數(shù)據(jù)庫(kù)字段之間的映射關(guān)系的具體代碼。在本實(shí)施例中,所述表單數(shù)據(jù)包括:輸入元素、輸入框、列表及下拉菜單。實(shí)施例二如圖5所示,在本實(shí)施例中,一種表單保存系統(tǒng),包括:讀取模塊10,用于讀取表單數(shù)據(jù);序列化模塊20,用于解析表單數(shù)據(jù),將所述表單數(shù)據(jù)序列化;保存模塊30,用于將序列化數(shù)據(jù)以可擴(kuò)展標(biāo)記語言XML的形式保存到數(shù)據(jù)庫(kù)中。在本實(shí)施例中,將表單信息通過一個(gè)統(tǒng)一的算法序列化成XML數(shù)據(jù)并保存到數(shù)據(jù)庫(kù)中,提高了操作效率,便于修改,兼容性好。如圖6所示,在本實(shí)施例中,表單保存系統(tǒng)還包括:反序列化模塊40,用于從數(shù)據(jù)庫(kù)中讀取XML形式的序列化數(shù)據(jù),并對(duì)所述序列化數(shù)據(jù)進(jìn)行反序列化處理,以得到所述表單數(shù)據(jù);顯示模塊50,用于將所述表單數(shù)據(jù)顯示到頁面上,以便于事后查詢或者事后修改。在本實(shí)施例中,所述序列化模塊20具體為:對(duì)所述表單數(shù)據(jù)進(jìn)行清洗、識(shí)別、組合,并以所述表單數(shù)據(jù)中的控件ID作為標(biāo)簽名稱,以所述表單數(shù)據(jù)中的控件值作為標(biāo)簽值,將所述標(biāo)簽名稱和標(biāo)簽值組成序列化數(shù)據(jù)。在本實(shí)施例中,所述保存模塊30包括:映射單元,用于選取所述序列化數(shù)據(jù)中需要統(tǒng)計(jì)的表單字段,在數(shù)據(jù)庫(kù)中建立對(duì)應(yīng)的數(shù)據(jù)庫(kù)字段,并建立所述表單字段和所述數(shù)據(jù)庫(kù)字段之間的映射關(guān)系。在本實(shí)施例中,所述表單數(shù)據(jù)包括:輸入元素、輸入框、列表及下拉菜單。以上所述僅為本發(fā)明的具體實(shí)施方式,這些描述只是為了解釋本發(fā)明的原理,而不能以任何方式解釋為對(duì)本發(fā)明保護(hù)范圍的限制?;诖颂幍慕忉?,本領(lǐng)域的技術(shù)人員不需要付出創(chuàng)造性的勞動(dòng)即可聯(lián)想到本發(fā)明的其它具體實(shí)施方法,這些方式都將落入本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
龙江县| 苍溪县| 贵港市| 靖西县| 观塘区| 苍山县| 宁乡县| 阿尔山市| 南安市| 资阳市| 曲松县| 安福县| 大英县| 南通市| 霍邱县| 慈溪市| 丹阳市| 凉山| 深水埗区| 兴安县| 祁门县| 化州市| 西城区| 兰考县| 昂仁县| 彰化县| 凤阳县| 金湖县| 绍兴市| 辉县市| 沾化县| 灵宝市| 喀喇沁旗| 大名县| 巴塘县| 郴州市| 锦州市| 蒙城县| 陈巴尔虎旗| 通化县| 丽水市|