包括待操作表的表名;
[0051] 本發(fā)明實(shí)施例的方法中針對數(shù)據(jù)操作類型會提前預(yù)設(shè)其對應(yīng)的語句模板,例如當(dāng) 數(shù)據(jù)操作類型是插入數(shù)據(jù)時,通過該步驟就可以確定在語句生成時所要使用的模板是插入 語句模板,以此模板完成后續(xù)的操作即可。
[0052] 步驟14,根據(jù)所述數(shù)據(jù)操作信息中的界面名稱,從數(shù)據(jù)庫獲取對應(yīng)表名的特定表 的預(yù)定義信息,并將所述數(shù)據(jù)操作信息的內(nèi)容按照所述預(yù)定義信息的要求對應(yīng)填充到所述 語句模板中,生成語句;
[0053] 眾所周知,在數(shù)據(jù)庫中生成語句時,字段賦值并非隨意的,不同數(shù)據(jù)類型的字段 賦值規(guī)則不同,當(dāng)然除此之外還包含有其他的定義的規(guī)則,如主鍵生成規(guī)則等,因此,在生 成語句過程中,按照步驟14,首先要從數(shù)據(jù)庫中獲取待操作表的預(yù)定義信息(即定義的規(guī) 則),然后將要填入語句模板中的對應(yīng)的數(shù)據(jù)操作信息的內(nèi)容按照定義的規(guī)則處理后賦值 填充,生成符合數(shù)據(jù)庫要求的語句。
[0054] 步驟15,執(zhí)行所述語句,對所述數(shù)據(jù)庫中對應(yīng)的表進(jìn)行數(shù)據(jù)編輯操作。
[0055] 通過上述步驟,不需專業(yè)的人員對數(shù)據(jù)庫的編程操作,只需在網(wǎng)頁窗口打開相應(yīng) 的表單界面進(jìn)行操作,即可將網(wǎng)頁數(shù)據(jù)自動生成語句執(zhí)行,完成數(shù)據(jù)庫的數(shù)據(jù)編輯進(jìn)行數(shù) 據(jù)信息管理功能的開發(fā)和維護(hù)。
[0056] 應(yīng)該了解到的是,網(wǎng)頁的數(shù)據(jù)格式并不適用于數(shù)據(jù)庫的語句中,因此,本發(fā)明實(shí)施 例的方法中在步驟12之后還包括:
[0057] 步驟16,對所述數(shù)據(jù)操作信息進(jìn)行封裝處理,得到可擴(kuò)展標(biāo)記語言XML格式或圖 MP格式的數(shù)據(jù)操作信息;故,
[0058] 步驟13',進(jìn)一步根據(jù)封裝后的數(shù)據(jù)操作信息中的數(shù)據(jù)操作類型,確定該數(shù)據(jù)操作 類型對應(yīng)的語句模板;以及步驟14',進(jìn)一步根據(jù)封裝后的數(shù)據(jù)操作信息中的界面名稱,從 數(shù)據(jù)庫獲取對應(yīng)表名的特定表的預(yù)定義信息,并將封裝后的數(shù)據(jù)操作信息的內(nèi)容按照所述 預(yù)定義信息的要求對應(yīng)填充到所述語句模板中,生成語句。
[0059] 封裝處理后的數(shù)據(jù)格式為XML格式或MAP格式,能夠被數(shù)據(jù)庫的語句使用,步驟 13'、步驟14'中所用的數(shù)據(jù)操作信息為封裝處理后的數(shù)據(jù)格式,就避免了由于格式問題而 出現(xiàn)的錯誤。
[0060] 往往數(shù)據(jù)編輯是對列及其對應(yīng)值操作的,所以,表單界面還包括:多個可供用戶輸 入數(shù)據(jù)的列,所述列的列名為所述特定表的字段信息。其中,所述數(shù)據(jù)操作信息還包括:所 述表單界面的各個列的列名及各個列的值;其中,上述步驟14'包括:
[0061] 步驟141,將所述數(shù)據(jù)操作信息中的界面名稱,作為所述語句模板中待操作表的表 名;
[0062] 步驟142,根據(jù)所述數(shù)據(jù)操作信息中的界面名稱,從數(shù)據(jù)庫中獲取該界面名稱對應(yīng) 的表的字段信息,作為所述語句模板中待操作表的字段信息;
[0063] 步驟143,將所述數(shù)據(jù)操作信息中的各個列的值,作為該列的列名對應(yīng)的字段信息 的值,填充到所述語句模板中,生成語句。
[0064] 下面以一添加客戶信息為例進(jìn)行具體說明:
[0065] 在數(shù)據(jù)庫中添加客戶"張三"的信息,操作員可以打開網(wǎng)頁的客戶信息管理的表單 界面如圖2所示,該表單界面20的定義HTML表單如下:
[0066] < !doctypehtml>
[0067] 〈htmlIang= "en">
[0068] 〈head〉
[0069] 〈metacharset= "UTF-8"〉
[0070] 〈title〉客戶信息管理〈/title〉
[0071] 〈/head〉
[0072] 〈body〉
[0073] <h2>客戶信息管理</h2>
[0074] 〈formmethod= "post"action="DBManager?op=add">
[0075] 客戶姓名:〈inputtype= 〃text"name= 〃CUST0MER_NAME">〈br/>〈b;r/>
[0076] 聯(lián)系電話:〈inputtype= 〃text"name= 〃CUST0MER_TEL">〈br/>〈b;r/>
[0077] 手機(jī):〈inputtype= 〃text"name= 〃CUST0MER_M0BILE">〈br/>〈b:r/>
[0078] 備注:〈textareaname= 〃REMARK"rows= 〃5"coIs= "20">〈/ textarea><br/Xbr/>
[0079] 〈inputtype= 〃hidden"name= 〃_TAB_NAME"value= 〃T_CUST0MER">
[0080] 〈inputtype= "submit"value="保存">
[0081] 〈inputtype= "reset"value="重填">
[0082] 〈/form〉
[0083] 〈/body〉
[0084] 操作員在表單界面20的客戶姓名、聯(lián)系電話、手機(jī)、備注中填寫對應(yīng)的信息并保 存。隨后,按照本發(fā)明實(shí)施例的數(shù)據(jù)庫的數(shù)據(jù)編輯方法,首先會接收并解析用戶通過所述表 單界面提交的數(shù)據(jù),當(dāng)然為了后期語句使用還需要封裝成XML格式,得到包含數(shù)據(jù)操作信 息的解析、封裝數(shù)據(jù):
[0085] 〈?xmlversion= 〃1. 0"encoding= 〃UTF_8" ? >
[0086] <TABLE_NAME>< ! [CDATA[T_CUST0MER]]></TABLE>
[0087] <C0LS>
[0088] <CUST0MER_NAME>〈 ![CDATA[張三]]>〈/CUST0MER_NAME>
[0089] <CUST0MER_TEL>〈 ! [CDATA[021-62580000]]>〈/CUST0MER_TEL>
[0090] <CUST0MER_M0BILE>〈 ![CDATA[13912341234]]>〈/CUST0MER_M0BILE>
[0091] 〈REMARKX! [CDATA[已聯(lián)系,對我們的產(chǎn)品有興趣。]]X/REMARK>
[0092] </C0LS>
[0093] 根據(jù)請求"DBManager?op=add"確定數(shù)據(jù)操作類型為插入數(shù)據(jù)操作,操 作詞為insert,就可確定使用插入語句模板:insertinto$tableName$($cols_list$) values($cols_value_list$);
[0094] 從封裝數(shù)據(jù)中獲取界面名稱為T_CUST0MER,由于表單界面的界面名稱與該表單界 面對應(yīng)在數(shù)據(jù)庫中的特定表的表名是一致的,所以可以根據(jù)表名從數(shù)據(jù)庫獲取該表的字段 信息:
[0095] <"CUST0MER_ID","number(18)">
[0096] <"CUST0MER_NAME","varchar(50)">
[0097] <"CUST0MER_TEL","varchar(20)">
[0098] <"CUST0MER_M0BILE","number(15)">
[0099] 〈"REMARK", "varchar(500)">
[0100] 該字段信息中對各個列的值的不同數(shù)據(jù)類型做了預(yù)定義,所以需要將數(shù)據(jù)操作信 息中的界面名稱,作為所述語句模板中待操作表的字段信息,以及各個列的值,作為該列的 列名對應(yīng)的字段信息的值,填充到所述語句模板中,當(dāng)然,填充過程要按照預(yù)定義信息的要 求對不同數(shù)據(jù)類型字段處理的,不同數(shù)據(jù)類型字段賦值規(guī)則如下表:
[0104] 生成語句:
[0105] insertintoT_CUST0MER(CUST0MER_NAME,CUST0MER_TEL,CUSTOMER, MOBILE,REMAKR)values(' 張三 ',' 021-62580000',13912341234, ' 已聯(lián)系,對我們的產(chǎn)品 有興趣。')
[0106] 最后執(zhí)行語句,對數(shù)據(jù)庫中對應(yīng)的表T_CUST0MER進(jìn)行數(shù)據(jù)編輯操作,即將客戶張 三的相關(guān)信息添加到了數(shù)據(jù)庫中。
[0107] 在本發(fā)明的實(shí)施例中,所述語句為結(jié)構(gòu)化查詢語言。結(jié)構(gòu)化查詢語言SQL是最重 要的關(guān)系數(shù)據(jù)庫操作語言,具有極大的靈活性和強(qiáng)大的功能。
[0108] 在本發(fā)明的實(shí)施例中,所述語句模板包括:插入語句模板、更新語句模板、查看語 句模板和刪除語句模板。