亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

    <rp id="nqnx4"></rp>

    表單頁(yè)面數(shù)據(jù)處理方法和裝置與流程

    文檔序號(hào):12824378閱讀:209來(lái)源:國(guó)知局
    本公開(kāi)涉及網(wǎng)絡(luò)技術(shù),尤其涉及一種表單頁(yè)面數(shù)據(jù)處理方法和裝置。
    背景技術(shù)
    ::表單頁(yè)面是構(gòu)建應(yīng)用的一種基本組件,用戶可以通過(guò)表單頁(yè)面向應(yīng)用的數(shù)據(jù)庫(kù)提交新增或修改的數(shù)據(jù),例如,網(wǎng)站注冊(cè)頁(yè)面是一種表單頁(yè)面,用戶可以在該頁(yè)面中輸入賬號(hào)、密碼等注冊(cè)數(shù)據(jù),并提交至數(shù)據(jù)庫(kù)存儲(chǔ)。表單頁(yè)面中可以包括多種類(lèi)型的控件,可以通過(guò)控件接收用戶輸入的數(shù)據(jù),并且通過(guò)控件與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互,比如加載數(shù)據(jù)庫(kù)中的數(shù)據(jù)至控件,或?qū)⒖丶臄?shù)據(jù)傳輸至數(shù)據(jù)庫(kù)??梢詫⑦@種表單頁(yè)面獲取數(shù)據(jù)并與數(shù)據(jù)庫(kù)交互的過(guò)程稱為表單頁(yè)面的數(shù)據(jù)處理。相關(guān)技術(shù)中,要實(shí)現(xiàn)上述的表單頁(yè)面數(shù)據(jù)處理,需要修改頁(yè)面中各個(gè)控件的操作狀態(tài),加載數(shù)據(jù)庫(kù)中的數(shù)據(jù)至頁(yè)面控件,或者將控件獲取的數(shù)據(jù)更新至數(shù)據(jù)庫(kù)等。在開(kāi)發(fā)表單頁(yè)面時(shí),分別對(duì)每一個(gè)控件編碼執(zhí)行上述相關(guān)操作的代碼;當(dāng)一個(gè)應(yīng)用包括多個(gè)表單頁(yè)面,每個(gè)表單頁(yè)面包括多個(gè)控件時(shí),編碼的工作量將很大,開(kāi)發(fā)效率較低。技術(shù)實(shí)現(xiàn)要素:為克服相關(guān)技術(shù)中存在的問(wèn)題,本公開(kāi)提供一種表單頁(yè)面數(shù)據(jù)處理方法和裝置,該方法可以提高表單頁(yè)面的開(kāi)發(fā)效率。根據(jù)本公開(kāi)實(shí)施例的第一方面,提供一種表單頁(yè)面數(shù)據(jù)處理方法,包括:在表單頁(yè)面進(jìn)行數(shù)據(jù)操作時(shí),執(zhí)行不同類(lèi)型的頁(yè)面控件處理;對(duì)于其中一種類(lèi)型的頁(yè)面控件處理,調(diào)用所述類(lèi)型的頁(yè)面控件處理對(duì)應(yīng)的控件處理方法,所述控件處理方法包括:遍歷表單頁(yè)面中的所有控件,對(duì)于每一個(gè)控件,根據(jù)所述控件的控件信息,執(zhí)行所述控件信息對(duì)應(yīng)的控件數(shù)據(jù)處理。根據(jù)本公開(kāi)實(shí)施例的第二方面,提供一種表單頁(yè)面數(shù)據(jù)處理裝置,包括:方法調(diào)用模塊,用于在表單頁(yè)面進(jìn)行數(shù)據(jù)操作時(shí),執(zhí)行不同類(lèi)型的頁(yè)面控件處理;對(duì)于其中一種類(lèi)型的頁(yè)面控件處理,調(diào)用所述類(lèi)型的頁(yè)面控件處理對(duì)應(yīng)的控件處理方法;頁(yè)面處理模塊,用于遍歷表單頁(yè)面中的所有控件,對(duì)于每一個(gè)控件,根據(jù)所述控件的控件信息,執(zhí)行所述控件信息對(duì)應(yīng)的控件數(shù)據(jù)處理。本公開(kāi)的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:通過(guò)使用一種控件處理方法,在遍歷表單頁(yè)面各個(gè)控件的過(guò)程中,執(zhí)行控件信息對(duì)應(yīng)的控件數(shù)據(jù)處理,簡(jiǎn)化了表單頁(yè)面數(shù)據(jù)處理的開(kāi)發(fā)方式,使得以較少的代碼量實(shí)現(xiàn)對(duì)頁(yè)面數(shù)據(jù)的處理,提高了表單頁(yè)面的開(kāi)發(fā)效率。應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開(kāi)。附圖說(shuō)明此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本發(fā)明的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本發(fā)明的原理。圖1是根據(jù)一示例性實(shí)施例示出的表單頁(yè)面的顯示示意圖;圖2是根據(jù)一示例性實(shí)施例示出的表單頁(yè)面中的控件與數(shù)據(jù)庫(kù)關(guān)系示意;圖3是根據(jù)一示例性實(shí)施例示出的一種表單頁(yè)面數(shù)據(jù)處理方法的流程;圖4是根據(jù)一示例性實(shí)施例示出的另一種表單頁(yè)面數(shù)據(jù)處理方法的流程;圖5是根據(jù)一示例性實(shí)施例示出的又一種表單頁(yè)面數(shù)據(jù)處理方法的流程;圖6是根據(jù)一示例性實(shí)施例示出的又一種表單頁(yè)面數(shù)據(jù)處理方法的流程;圖7是根據(jù)一示例性實(shí)施例示出的又一種表單頁(yè)面數(shù)據(jù)處理方法的流程;圖8是根據(jù)一示例性實(shí)施例示出的一種表單頁(yè)面數(shù)據(jù)處理裝置的結(jié)構(gòu);圖9是根據(jù)一示例性實(shí)施例示出的另一種表單頁(yè)面數(shù)據(jù)處理裝置的結(jié)構(gòu);圖10是根據(jù)一示例性實(shí)施例示出的又一種表單頁(yè)面數(shù)據(jù)處理裝置的結(jié)構(gòu)。具體實(shí)施方式這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。表單頁(yè)面是一個(gè)網(wǎng)站和該網(wǎng)站的用戶開(kāi)展互動(dòng)的窗口,用戶可以通過(guò)表單頁(yè)面填寫(xiě)信息,提交至網(wǎng)站的服務(wù)器。參見(jiàn)圖1的示例,在顯示設(shè)備11(例如,可以是一個(gè)計(jì)算機(jī))的顯示屏12上,顯示了一個(gè)表單頁(yè)面,該表單頁(yè)面可以是一個(gè)注冊(cè)頁(yè)面,用戶可以在該注冊(cè)頁(yè)面中填寫(xiě)自己的信息(如,用戶名、密碼、地址等)。在表單頁(yè)面填寫(xiě)信息后,該表單頁(yè)面可以將這些信息發(fā)送至服務(wù)器13,存儲(chǔ)在服務(wù)器13中的數(shù)據(jù)庫(kù)14中。在本例子中,表單頁(yè)面的數(shù)據(jù)(例如,圖1中用戶輸入的姓名、地址等信息)在向數(shù)據(jù)庫(kù)14中存儲(chǔ)時(shí),可以采用如下的存儲(chǔ)方式:參見(jiàn)圖2的示例,數(shù)據(jù)庫(kù)14中可以有很多數(shù)據(jù)庫(kù)表,可以設(shè)置一個(gè)數(shù)據(jù)庫(kù)表對(duì)應(yīng)存儲(chǔ)一個(gè)表單頁(yè)面的數(shù)據(jù)。如圖2所示,表單頁(yè)面中包括很多控件,例如,表單頁(yè)面21包括用于獲取姓名、密碼、住址的三個(gè)控件,這些控件可以是textbox輸入框,供用戶輸入信息;具體實(shí)施中還可以包括其他類(lèi)型的控件,比如checkbox選擇框,供用戶選擇信息,或者還可以是dropdownlist下拉框等控件。而在數(shù)據(jù)庫(kù)14中可以包括一個(gè)對(duì)應(yīng)存儲(chǔ)該表單頁(yè)面21中的各個(gè)控件接收數(shù)據(jù)的數(shù)據(jù)庫(kù)表22,該數(shù)據(jù)庫(kù)表22中可以包括很多字段,而這些字段可以對(duì)應(yīng)存儲(chǔ)某個(gè)控件的數(shù)據(jù),比如,字段1可以用于存儲(chǔ)表單頁(yè)面21中的第一個(gè)textbox輸入框獲取到的姓名數(shù)據(jù),字段2可以用于存儲(chǔ)表單頁(yè)面21 中的第二個(gè)textbox輸入框獲取到的密碼數(shù)據(jù)等。如果將某一次的表單頁(yè)面21各個(gè)控件獲取到的數(shù)據(jù)均傳輸至數(shù)據(jù)庫(kù)表22存儲(chǔ),那么對(duì)應(yīng)本次數(shù)據(jù)的各個(gè)字段的數(shù)據(jù)整體可以稱為一個(gè)數(shù)據(jù)記錄,如果將其中一個(gè)字段設(shè)為數(shù)據(jù)庫(kù)表的主鍵(例如,將具有唯一性的姓名字段設(shè)為主鍵),可以查詢到某一個(gè)數(shù)據(jù)記錄,如果將數(shù)據(jù)庫(kù)表的數(shù)據(jù)加載至表單頁(yè)面,可以將數(shù)據(jù)記錄整體加載,即將數(shù)據(jù)記錄中的各個(gè)字段分別加載到對(duì)應(yīng)的控件中。本例子中所提供的表單頁(yè)面數(shù)據(jù)處理方法,將用于實(shí)現(xiàn)表單頁(yè)面與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交互。比如,有個(gè)新用戶在網(wǎng)站注冊(cè),那么將通過(guò)表單頁(yè)面向數(shù)據(jù)庫(kù)中新增一條數(shù)據(jù)記錄;或者用戶還可以修改自己原來(lái)注冊(cè)的信息,那么數(shù)據(jù)庫(kù)可以將用戶之前的數(shù)據(jù)記錄加載到表單頁(yè)面供用戶修改,修改后再更新存儲(chǔ)至數(shù)據(jù)庫(kù)。在這種對(duì)表單頁(yè)面數(shù)據(jù)的新增、修改等數(shù)據(jù)操作中,需要執(zhí)行到如下幾個(gè)操作,這些操作可以稱為不同類(lèi)型的頁(yè)面控件處理:1)更新控件的數(shù)據(jù)初始值;例如,當(dāng)一個(gè)新用戶在網(wǎng)站注冊(cè)時(shí),供用戶填寫(xiě)信息的textbox輸入框要設(shè)置為空值,而有些輸入框可能默認(rèn)值是1。2)設(shè)置控件的數(shù)據(jù)操作狀態(tài);例如,不論用戶要新注冊(cè)信息,或者是要修改原有的信息,各個(gè)控件的數(shù)據(jù)操作狀態(tài)都要設(shè)置為“可編輯”,而當(dāng)用戶填寫(xiě)信息結(jié)束時(shí),還要將表單頁(yè)面中的控件的數(shù)據(jù)操作狀態(tài)設(shè)置為“不可編輯”。3)將數(shù)據(jù)庫(kù)表中的數(shù)據(jù)記錄加載至表單頁(yè)面;例如,當(dāng)用戶要修改原來(lái)填寫(xiě)的信息時(shí),要查詢到該用戶的數(shù)據(jù)記錄,并將數(shù)據(jù)記錄的各字段的數(shù)據(jù)加載至表單頁(yè)面的各個(gè)控件中,以供用戶修改該數(shù)據(jù)。4)表單頁(yè)面的數(shù)據(jù)更新至數(shù)據(jù)庫(kù);例如,不論用戶要新注冊(cè)信息,或者是要修改原有的信息,填寫(xiě)信息完畢后,這些信息都要上傳至數(shù)據(jù)庫(kù)存儲(chǔ)。通過(guò)上述列舉的幾種不同類(lèi)型的頁(yè)面控件處理,可以實(shí)現(xiàn)表單頁(yè)面的數(shù) 據(jù)操作,比如,對(duì)表單頁(yè)面數(shù)據(jù)的新增或修改。而傳統(tǒng)方式中,每種類(lèi)型的頁(yè)面控件處理,都是各個(gè)控件獨(dú)自設(shè)置,比如,以控件的數(shù)據(jù)操作狀態(tài)設(shè)置為例,設(shè)置textbox1,通過(guò)代碼textbox1.readonly=true,如果要設(shè)置textbox,還通過(guò)代碼textbox2.readonly=true,等。即各個(gè)控件分別進(jìn)行相應(yīng)處理代碼的編寫(xiě),這種方式如果一個(gè)表單頁(yè)面有n個(gè)控件就要寫(xiě)n次,開(kāi)發(fā)效率較低,而且代碼量較大。因此,本例子中提供的表單頁(yè)面數(shù)據(jù)處理方法,即為要簡(jiǎn)化表單頁(yè)面數(shù)據(jù)處理的開(kāi)發(fā)方式,使得以較少的代碼量實(shí)現(xiàn)對(duì)頁(yè)面數(shù)據(jù)的處理,提高表單頁(yè)面的開(kāi)發(fā)效率。參見(jiàn)圖3示例的本申請(qǐng)的表單頁(yè)面數(shù)據(jù)處理方法,可以包括:301、在表單頁(yè)面進(jìn)行數(shù)據(jù)操作時(shí),執(zhí)行不同類(lèi)型的頁(yè)面控件處理。302、對(duì)于其中一種類(lèi)型的頁(yè)面控件處理,調(diào)用該類(lèi)型的頁(yè)面控件處理對(duì)應(yīng)的控件處理方法,該控件處理方法包括:遍歷表單頁(yè)面中的所有控件,對(duì)于每一個(gè)控件,根據(jù)控件的控件信息執(zhí)行控件信息對(duì)應(yīng)的控件數(shù)據(jù)處理。由該流程可以看到,在執(zhí)行其中一種類(lèi)型的頁(yè)面控件處理時(shí),不用再分別對(duì)各個(gè)控件進(jìn)行設(shè)置,而是通過(guò)調(diào)用一個(gè)控件處理方法來(lái)執(zhí)行所有控件的設(shè)置。該控件處理方法就可以遍歷表單頁(yè)面中的所有控件,并在遍歷的過(guò)程中根據(jù)控件信息執(zhí)行對(duì)該控件的處理,如下分別對(duì)上面提到的四種頁(yè)面控件處理,說(shuō)明如何對(duì)頁(yè)面控件進(jìn)行設(shè)置。首先,本例子中可以通過(guò)命名規(guī)則,將表單頁(yè)面上的控件與數(shù)據(jù)庫(kù)表中的各個(gè)字段建立關(guān)聯(lián)。例如,數(shù)據(jù)庫(kù)表中的字段的字段名,可以使用字母和數(shù)字的方式命名,如,column1/colunmn2/colunmn3等,并設(shè)置表主鍵。對(duì)于表單頁(yè)面的命名,可以設(shè)置為控件類(lèi)別和數(shù)據(jù)庫(kù)表的字段名的組合,該字段名對(duì)應(yīng)的字段是用于存儲(chǔ)控件數(shù)據(jù)的字段。比如,假設(shè)column1的字段存儲(chǔ)textbox輸入框中的數(shù)據(jù),colunmn2的字段用于存儲(chǔ)checkbox選擇框的數(shù)據(jù),那么textbox輸入框這個(gè)控件的控件名稱可以是txt_column1,checkbox選擇框這個(gè)控件的控件名稱可以是chk_colunmn2。其中,控件類(lèi) 別和字段名之間的間隔符,也可以是下劃線之外的其他符號(hào),比如,中劃線。經(jīng)過(guò)如上設(shè)置,表單頁(yè)面上的控件與數(shù)據(jù)庫(kù)表中的各個(gè)字段之間具有了關(guān)聯(lián),通過(guò)控件名稱就可以知道對(duì)應(yīng)存儲(chǔ)該控件數(shù)據(jù)的字段是哪個(gè)。本例子中,在遍歷表單頁(yè)面中的各個(gè)控件時(shí),可以根據(jù)控件名稱執(zhí)行對(duì)應(yīng)該控件的數(shù)據(jù)處理。為實(shí)現(xiàn)該方法,使用form為主控件,可任意命名,比如該主控件的id=mainform,將表單頁(yè)面的所有控件設(shè)置為該form的子控件。1)更新控件的數(shù)據(jù)初始值;該處理可以通過(guò)調(diào)用控件處理方法clearcontroldata(mainform)實(shí)現(xiàn)。該方法clearcontroldata(mainform)限定的流程可以包括:遍歷表單頁(yè)面中的所有控件,即mainform下的所有子控件,對(duì)于每個(gè)控件,根據(jù)控件名稱中的控件類(lèi)別,設(shè)置對(duì)應(yīng)控件類(lèi)別的控件數(shù)據(jù)初始值。例如,當(dāng)一個(gè)新用戶在網(wǎng)站注冊(cè)時(shí),供用戶填寫(xiě)信息的textbox輸入框要設(shè)置為空值,而有些輸入框可能默認(rèn)值是1,不同類(lèi)別的控件其初始值可能不同。2)設(shè)置控件的數(shù)據(jù)操作狀態(tài);該處理可以通過(guò)調(diào)用控件處理方法lockcontrolstatus(mainform,status)實(shí)現(xiàn)。該方法lockcontrolstatus(mainform,status)限定的流程可以包括:遍歷表單頁(yè)面中的所有控件,即mainform下的所有子控件,對(duì)于每個(gè)控件,根據(jù)控件名稱中的控件類(lèi)別,設(shè)置對(duì)應(yīng)控件類(lèi)別的控件數(shù)據(jù)操作狀態(tài)即狀態(tài)控制值status,通過(guò)設(shè)置狀態(tài)控制值status就可以控制控件的數(shù)據(jù)操作狀態(tài)。例如,有的時(shí)候textbox輸入框設(shè)置為readonly屬性,該readonly屬性即該控件textbox輸入框的狀態(tài)控制值status。dropdownbox下拉框設(shè)置enable屬性,該enable屬性即該控件的狀態(tài)控制值status。3)將數(shù)據(jù)庫(kù)表中的數(shù)據(jù)記錄加載至表單頁(yè)面;該處理可以根據(jù)控件名稱中的字段名,將待加載至表單頁(yè)面的數(shù)據(jù)記錄中對(duì)應(yīng)字段名的數(shù)據(jù)賦值給所述控件。例如,遍歷mainform下的所有子控件,獲取各個(gè)子控件的控件名稱中的分隔符(如,下劃線_)右端的字段名(如,column1),將用于加載至該表單頁(yè)面的數(shù)據(jù)記錄中對(duì)應(yīng)該字段名的字段數(shù)據(jù) (如,column1對(duì)應(yīng)的字段中的數(shù)據(jù))賦值給該控件即可。4)表單頁(yè)面的數(shù)據(jù)更新至數(shù)據(jù)庫(kù);該處理可以根據(jù)控件名稱中的字段名,將控件的數(shù)據(jù)和字段名,攜帶在數(shù)據(jù)庫(kù)更新語(yǔ)句中,并執(zhí)行數(shù)據(jù)庫(kù)更新語(yǔ)句,將控件的數(shù)據(jù)更新至數(shù)據(jù)庫(kù)表中對(duì)應(yīng)該字段名的字段。例如,遍歷mainform下的所有子控件,主鍵控件除外,獲取各個(gè)子控件的控件名稱中的分隔符(如,下劃線_)右端的字段名(如,column1),將該控件的數(shù)據(jù)和該字段名column1拼接在數(shù)據(jù)庫(kù)更新語(yǔ)句例如updata語(yǔ)句或insert語(yǔ)句中,執(zhí)行該語(yǔ)句后,控件的數(shù)據(jù)就對(duì)應(yīng)更新數(shù)據(jù)庫(kù)表column1字段的數(shù)據(jù)。本例子中,為了確保向數(shù)據(jù)庫(kù)更新數(shù)據(jù)時(shí)生成的sql語(yǔ)句中的字段名的正確性,避免sql執(zhí)行出錯(cuò),還可以在上面的第3)種頁(yè)面控件處理和第4)種頁(yè)面控件處理中,向數(shù)據(jù)庫(kù)更新數(shù)據(jù)之前進(jìn)行字段名的校驗(yàn)。比如,將表單頁(yè)面對(duì)應(yīng)的數(shù)據(jù)庫(kù)表中的各個(gè)字段名存儲(chǔ)成字段名列表,判斷某個(gè)控件的控件名稱中的字段名是否包含在該列表中,若包含才向數(shù)據(jù)庫(kù)表更新該控件的數(shù)據(jù),該控件的數(shù)據(jù)將對(duì)應(yīng)更新數(shù)據(jù)庫(kù)表中相同字段名的字段。圖4示例了第3)種頁(yè)面控件處理的一種執(zhí)行流程,圖5示例了第4)種頁(yè)面控件處理的一種執(zhí)行流程。如圖4所示,在將數(shù)據(jù)庫(kù)表的數(shù)據(jù)記錄加載至表單頁(yè)面時(shí),可以調(diào)用方法selectcontroldata(mainform,tablename,primarykey),該方法的流程包括:401、根據(jù)表單頁(yè)面對(duì)應(yīng)的數(shù)據(jù)庫(kù)表tablename,查詢出該表所有字段名。402、將數(shù)據(jù)庫(kù)表的所有字段名存儲(chǔ)在一個(gè)字段名列表columnlist中。403、在數(shù)據(jù)庫(kù)表tablename中根據(jù)主鍵primarykey,查詢出一條數(shù)據(jù)記錄,將這條數(shù)據(jù)記錄存儲(chǔ)在dataset中。比如,假設(shè)某個(gè)用戶要修改自己注冊(cè)的信息,可以使用具有唯一性的用戶賬號(hào)作為主鍵,查詢到該用戶的信息,加載到表單頁(yè)面供用戶修改。404、遍歷mainform下的所有子控件,獲取各個(gè)子控件名稱中分隔符右側(cè)的字段名。405、檢查控件名稱的分隔符右側(cè)的字段名是否包含在字段名列表columnlist中。若確定該字段名包含在columnlist中,則執(zhí)行406,將已經(jīng)存儲(chǔ)在dataset中的數(shù)據(jù)記錄中的該字段名對(duì)應(yīng)的數(shù)據(jù)賦值給該子控件。否則,表明該控件的數(shù)據(jù)并沒(méi)有在dataset的數(shù)據(jù)記錄中,不能賦值。如圖5所示,在將數(shù)據(jù)庫(kù)表的數(shù)據(jù)記錄加載至表單頁(yè)面時(shí),可以調(diào)用方法savacontroldata(mainform,tablename,primarykey),該方法的流程包括:501、根據(jù)表單頁(yè)面對(duì)應(yīng)的數(shù)據(jù)庫(kù)表tablename,查詢出該表所有字段名。502、將數(shù)據(jù)庫(kù)表的所有字段名存儲(chǔ)在一個(gè)字段名列表columnlist中。503、檢查數(shù)據(jù)庫(kù)表主鍵primarykey對(duì)應(yīng)的控件值,如果是空值,則執(zhí)行504,發(fā)起insert操作;否則,執(zhí)行505,發(fā)起update操作。504、insert操作:遍歷mainform下的所有子控件,主鍵控件除外,獲取各個(gè)子控件名稱中分隔符右側(cè)的字段名,若該字段名包含在columnlist中,則拼接insert語(yǔ)句中的字段名和字段值,即該控件的數(shù)據(jù)和該字段名拼接在數(shù)據(jù)庫(kù)更新語(yǔ)句insert語(yǔ)句中。否則,不在insert語(yǔ)句拼接。505、update操作:遍歷mainform下的所有子控件,主鍵控件除外,獲取各個(gè)子控件名稱中分隔符右側(cè)的字段名,若該字段名包含在columnlist中,則拼接update語(yǔ)句中的字段名和字段值,即該控件的數(shù)據(jù)和該字段名拼接在數(shù)據(jù)庫(kù)更新語(yǔ)句update語(yǔ)句中。否則,不在update語(yǔ)句拼接。506、執(zhí)行數(shù)據(jù)庫(kù)更新語(yǔ)句,例如,update語(yǔ)句或insert語(yǔ)句。執(zhí)行該語(yǔ)句后,控件的數(shù)據(jù)就對(duì)應(yīng)更新數(shù)據(jù)庫(kù)表中該字段名對(duì)應(yīng)字段。如下再分別以在表單頁(yè)面新增數(shù)據(jù)或修改數(shù)據(jù)為例,說(shuō)明本申請(qǐng)的表單頁(yè)面數(shù)據(jù)處理方法的應(yīng)用。其中,在如下例子中涉及到的各個(gè)方法可以參見(jiàn)前面的實(shí)施例,不再詳述。圖6示例了在表單頁(yè)面新增數(shù)據(jù)的處理流程,可以包括:601、通過(guò)調(diào)用方法clearcontroldata(mainform),將表單頁(yè)面中的各個(gè)控件的數(shù)據(jù)設(shè)置為數(shù)據(jù)初始值。602、通過(guò)調(diào)用方法lockcontrolstatus(mainform,status),將表單頁(yè)面中的各個(gè)控件的數(shù)據(jù)操作狀態(tài)設(shè)置為可編輯。603、表單頁(yè)面的各個(gè)控件,接收用戶設(shè)置的新增數(shù)據(jù)。604、通過(guò)調(diào)用方法savacontroldata(mainform,tablename,primarykey),將表單頁(yè)面中各個(gè)控件收到的數(shù)據(jù)保存至數(shù)據(jù)庫(kù)表中。605、通過(guò)調(diào)用方法lockcontrolstatus(mainform,status),將表單頁(yè)面中的各個(gè)控件的數(shù)據(jù)操作狀態(tài)設(shè)置為不可編輯。圖7示例了在表單頁(yè)面修改數(shù)據(jù)的處理流程,可以包括:701、通過(guò)調(diào)用方法selectcontroldata(mainform,tablename,primarykey),將對(duì)應(yīng)該表單頁(yè)面的數(shù)據(jù)庫(kù)表中獲取數(shù)據(jù)記錄,并將數(shù)據(jù)記錄中的數(shù)據(jù)加載至表單頁(yè)面的各個(gè)控件。702、通過(guò)調(diào)用方法lockcontrolstatus(mainform,status),將表單頁(yè)面中的各個(gè)控件的數(shù)據(jù)操作狀態(tài)設(shè)置為可編輯。703、表單頁(yè)面的各個(gè)控件,接收用戶設(shè)置的修改數(shù)據(jù)。704、通過(guò)調(diào)用方法savacontroldata(mainform,tablename,primarykey),將表單頁(yè)面中各個(gè)控件收到的數(shù)據(jù)保存至數(shù)據(jù)庫(kù)表中。705、通過(guò)調(diào)用方法lockcontrolstatus(mainform,status),將表單頁(yè)面中的各個(gè)控件的數(shù)據(jù)操作狀態(tài)設(shè)置為不可編輯。在本申請(qǐng)的例子中,表單頁(yè)面可以是asp.net的單個(gè)aspx頁(yè)面,該頁(yè)面的編碼可以采用c#或vb實(shí)現(xiàn),上述的例子中以c#舉例實(shí)現(xiàn)。用于存儲(chǔ)表單頁(yè)面數(shù)據(jù)的數(shù)據(jù)庫(kù)可以支持主流數(shù)據(jù)庫(kù),例如本申請(qǐng)中以sqlserver實(shí)現(xiàn)。為了實(shí)現(xiàn)上述的表單頁(yè)面數(shù)據(jù)處理方法,本申請(qǐng)還提供一種表單頁(yè)面數(shù)據(jù)處理裝置,該裝置可以是開(kāi)發(fā)的表單頁(yè)面的各個(gè)邏輯功能模塊,如圖8所示,該裝置可以包括:方法調(diào)用模塊81和頁(yè)面處理模塊82。方法調(diào)用模塊81,用于在表單頁(yè)面進(jìn)行數(shù)據(jù)操作時(shí),執(zhí)行不同類(lèi)型的頁(yè)面控件處理;對(duì)于其中一種類(lèi)型的頁(yè)面控件處理,調(diào)用所述類(lèi)型的頁(yè)面控件處理對(duì)應(yīng)的控件處理方法;頁(yè)面處理模塊82,用于遍歷表單頁(yè)面中的所有控件,對(duì)于每一個(gè)控件,根據(jù)所述控件的控件信息,執(zhí)行所述控件信息對(duì)應(yīng)的控件數(shù)據(jù)處理。例如,所述控件信息是控件名稱;所述控件名稱包括:所述控件的控件類(lèi)別、以及用于對(duì)應(yīng)存儲(chǔ)所述控件的控件數(shù)據(jù)的數(shù)據(jù)庫(kù)表的字段名。在一個(gè)例子中,參見(jiàn)圖9,頁(yè)面處理模塊82可以包括:控件遍歷子模塊821,用于遍歷表單頁(yè)面中的所有控件。初值設(shè)置子模塊822,用于對(duì)于每一個(gè)控件,根據(jù)所述控件名稱中的控件類(lèi)別,設(shè)置對(duì)應(yīng)所述控件類(lèi)別的控件數(shù)據(jù)初始值。狀態(tài)設(shè)置子模塊823,用于對(duì)于每一個(gè)控件,根據(jù)所述控件名稱中的控件類(lèi)別,設(shè)置對(duì)應(yīng)所述控件類(lèi)別的控件數(shù)據(jù)操作狀態(tài)。數(shù)據(jù)加載子模塊824,用于對(duì)于每一個(gè)控件,根據(jù)控件名稱中的字段名,將待加載至表單頁(yè)面的數(shù)據(jù)記錄中對(duì)應(yīng)所述字段名的數(shù)據(jù)賦值給所述控件。數(shù)據(jù)更新子模塊825,用于對(duì)于每一個(gè)控件,根據(jù)所述控件名稱中的字段名,將所述控件的數(shù)據(jù)和字段名,攜帶在數(shù)據(jù)庫(kù)更新語(yǔ)句中;執(zhí)行數(shù)據(jù)庫(kù)更新語(yǔ)句,以將所述控件的數(shù)據(jù)更新至數(shù)據(jù)庫(kù)表中對(duì)應(yīng)所述字段名的字段。上述的初值設(shè)置子模塊822至數(shù)據(jù)更新子模塊825,可以分別獨(dú)自和控件遍歷子模塊821存在,或者,也可以任意組合與控件遍歷子模塊821存在。例如,當(dāng)這些模塊獨(dú)自和控件遍歷子模塊821存在時(shí),可以是在開(kāi)發(fā)表單頁(yè)面時(shí)部分功能的開(kāi)發(fā)(比如,控件的數(shù)據(jù)操作狀態(tài)的設(shè)置)通過(guò)調(diào)用本例子中的相應(yīng)方法實(shí)現(xiàn),相對(duì)于傳統(tǒng)方式中的所有功能都分別各個(gè)控件獨(dú)自設(shè)置,也減少了代碼量,而這些模塊全部與控件遍歷子模塊821存在時(shí),可以是圖6或圖7的例子,可以最大程度的減少代碼量。在又一個(gè)例子中,參見(jiàn)圖10,為了確保向數(shù)據(jù)庫(kù)更新數(shù)據(jù)時(shí)生成的sql語(yǔ)句中的字段名的正確性,頁(yè)面處理模塊82還可以包括:列表生成子模塊826,用于將所述表單頁(yè)面對(duì)應(yīng)的數(shù)據(jù)庫(kù)表中的各字段名,存儲(chǔ)成字段名列表;字段校驗(yàn)子模塊827,用于判斷所述控件名稱中的字段名是否包含在所 述字段名列表中,若判斷結(jié)果為是,則執(zhí)行控件信息對(duì)應(yīng)的控件數(shù)據(jù)處理。本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本公開(kāi)未公開(kāi)的本
    技術(shù)領(lǐng)域
    :中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12
    當(dāng)前第1頁(yè)1 2 
    網(wǎng)友詢問(wèn)留言 已有0條留言
    • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
    1