国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種程序代碼生成器的制造方法

      文檔序號:6489443閱讀:363來源:國知局
      一種程序代碼生成器的制造方法
      【專利摘要】本發(fā)明涉及一種程序代碼生成器,通過識別出目標(biāo)數(shù)據(jù)庫的表結(jié)構(gòu)后,按照特定的語法自動生成計(jì)算機(jī)程序代碼,其特征在于,生成的計(jì)算機(jī)程序代碼是基于C#語法的,可以用于訪問,修改,刪除已知的SqlServer或者Access數(shù)據(jù)庫表中數(shù)據(jù)的代碼,或者根據(jù)數(shù)據(jù)庫中表的結(jié)構(gòu)生成相應(yīng)數(shù)據(jù)庫存儲過程的代碼。本發(fā)明突破了傳統(tǒng)計(jì)算機(jī)軟件開發(fā)時需要程序員手寫輸入代碼的方式,提高了軟件開發(fā)的速度和效率。
      【專利說明】一種程序代碼生成器
      [0001]
      【技術(shù)領(lǐng)域】
      [0002]本發(fā)明涉及一種程序代碼生成器,尤其是一種基于C#語法的,用于訪問,修改,刪除已知的SqlServer或者Access數(shù)據(jù)庫表中數(shù)據(jù)的,或者根據(jù)數(shù)據(jù)庫中表的結(jié)構(gòu)生成相應(yīng)數(shù)據(jù)庫存儲過程的計(jì)算機(jī)程序代碼自動生成器。
      【背景技術(shù)】
      [0003]計(jì)算機(jī)程序代碼是用來制作計(jì)算機(jī)軟件和硬件驅(qū)動,操作系統(tǒng)等工具的最基本的組成單元。每個計(jì)算機(jī)軟件,無論是應(yīng)用軟件,硬件驅(qū)動軟件,操作系統(tǒng)軟件,其最終的生成形式,目前都是通過計(jì)算機(jī)程序代碼編寫人員在特定的計(jì)算機(jī)程序開發(fā)工具上,按一定的語法規(guī)則手寫輸入的計(jì)算機(jī)程序代碼而形成的。
      [0004]然而,隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展和更新,計(jì)算機(jī)軟件系統(tǒng)的規(guī)模在不斷擴(kuò)大,目前,規(guī)模較大的計(jì)算機(jī)軟件的程序代碼已經(jīng)有幾億行之多,并且隨著計(jì)算機(jī)技術(shù)繼續(xù)不斷更新和發(fā)展,計(jì)算機(jī)軟件的規(guī)模還在不斷加大。由此,目前的手工編寫計(jì)算機(jī)程序代碼的模式已經(jīng)在一定程度上限制了計(jì)算機(jī)軟件規(guī)模擴(kuò)大的步伐。
      [0005]而在基于數(shù)據(jù)庫的計(jì)算機(jī)應(yīng)用軟件中,對于用于訪問,修改,刪除已知數(shù)據(jù)庫表中數(shù)據(jù)的計(jì)算機(jī)程序代碼不僅代碼量在整個目標(biāo)軟件系統(tǒng)中占據(jù)了相當(dāng)大的規(guī)模,而且該部分代碼是基于數(shù)據(jù)庫表結(jié)構(gòu)的具有一定規(guī)律性的代碼,計(jì)算機(jī)程序代碼編寫人員在編寫這部分代碼時,完全可以借用一些工具自動生成這部分代碼。

      【發(fā)明內(nèi)容】

      [0006]本發(fā)明的目的在于:針對以上現(xiàn)有技術(shù)存在的不足,在開發(fā)基于數(shù)據(jù)庫的軟件系統(tǒng)時,提出一種可以按照數(shù)據(jù)庫的表結(jié)構(gòu)和指定的語法C#,自動生成用于訪問,修改,刪除已知數(shù)據(jù)庫表中數(shù)據(jù)的計(jì)算機(jī)程序代碼。
      [0007]為了達(dá)到以上目的,本發(fā)明的計(jì)算機(jī)程序代碼自動生成器應(yīng)包含如下組件: 數(shù)據(jù)庫結(jié)構(gòu)識別組件——用以訪問數(shù)據(jù)庫,識別出數(shù)據(jù)庫中表的表名及各個字段名,
      字段的屬性,取值范圍等信息;
      代碼生成組件——用以在內(nèi)存中,根據(jù)數(shù)據(jù)庫結(jié)構(gòu)識別組件識別出的信息,按照C#語法生成相應(yīng)的代碼;
      存儲過程生成組件——用以在內(nèi)存中,根據(jù)數(shù)據(jù)庫結(jié)構(gòu)識別組件識別出的信息,按照SQL語法生成相應(yīng)的存儲過程代碼;
      目標(biāo)代碼生成器——一個類似于記事本的可編輯工具,生成后的代碼顯示在該編輯器中,使用者可以編輯生成后的代碼。
      [0008]目前基于數(shù)據(jù)庫的計(jì)算機(jī)軟件系統(tǒng),對于數(shù)據(jù)中的每個表的操作具體為:在表中新增一條記錄,根據(jù)記錄的索引號修改一條記錄,根據(jù)記錄的索引號刪除一條記錄,根據(jù)記錄的索引號獲取一條記錄,獲取表中的所有記錄。本發(fā)明的計(jì)算機(jī)程序代碼自動生成器將根據(jù)其數(shù)據(jù)庫結(jié)構(gòu)識別組件識別出表結(jié)構(gòu)后,按照C#語法依次生成完成上述操作的函數(shù),以及依據(jù)SQL語法生成每個函數(shù)需要使用的存儲過程。生成的結(jié)果顯示在目標(biāo)代碼生成器中。
      [0009]具體的代碼生成包括如下的步驟:
      步驟一:通過數(shù)據(jù)庫結(jié)構(gòu)識別組件調(diào)用第三方組件ADO (ActiveX Data Objects),該組件中的方法可以獲取數(shù)據(jù)庫中的表名及字段名,數(shù)據(jù)庫服務(wù)器名通過用戶在本發(fā)明的設(shè)置數(shù)據(jù)庫服務(wù)器對話框中輸入獲?。?br> 步驟二:代碼生成組件根據(jù)獲取的表和表名及數(shù)據(jù)庫服務(wù)器名,依次生成如下幾個函
      數(shù):
      函數(shù)I新增一條記錄:
      函數(shù)名為=AddRec,函數(shù)具體完成的操作為:打開數(shù)據(jù)庫連接,獲取新增記錄各個字段的值,新增記錄各個字段的值是通過函數(shù)的參數(shù)進(jìn)行傳遞的,然后執(zhí)行SQL的Add語句,之后關(guān)閉數(shù)據(jù)庫連接,函數(shù)結(jié)束。
      [0010]函數(shù)2根據(jù)記錄的索引號修改一條記錄:
      函數(shù)名為=UpdateRec,函數(shù)具體完成的操作為:打開數(shù)據(jù)庫連接,獲取修改的記錄各個字段的值,修改記錄各個字段的值是通過函數(shù)的參數(shù)進(jìn)行傳遞的,然后執(zhí)行SQL的Update語句,之后關(guān)閉數(shù)據(jù)庫連接,函數(shù)結(jié)束。
      [0011]函數(shù)3根據(jù)記錄的索引號刪除一條記錄:
      函數(shù)名為=DelRec,函數(shù)具體完成的操作為:打開數(shù)據(jù)庫連接,然后執(zhí)行SQL的Delete語句,搜索記錄的索引號通過函數(shù)的參數(shù)進(jìn)行傳遞,之后關(guān)閉數(shù)據(jù)庫連接,函數(shù)結(jié)束。
      [0012]函數(shù)4根據(jù)記錄的索引號獲取一條記錄:
      函數(shù)名為:SelOneRec,函數(shù)具體完成的操作為:打開數(shù)據(jù)庫連接,然后執(zhí)行SQL的Select語句,搜索記錄的索引號通過函數(shù)的參數(shù)進(jìn)行傳遞,之后關(guān)閉數(shù)據(jù)庫連接,返回查詢的記錄,函數(shù)結(jié)束。
      [0013]函數(shù)5獲取表中的所有記錄:
      函數(shù)名為:SelAllRec,函數(shù)具體完成的操作為:打開數(shù)據(jù)庫連接,然后執(zhí)行SQL的Select語句,之后關(guān)閉數(shù)據(jù)庫連接,需要返回的記錄通過數(shù)組傳出,函數(shù)結(jié)束。
      [0014]如使用者選擇需要生成存儲過程,則代碼生成組件根據(jù)獲取的表和表名及數(shù)據(jù)庫服務(wù)器名,依次生成如下幾個存儲過程:
      新增一條記錄的存儲過程,根據(jù)表名和字段名生成SQL的ADD語句;
      修改一條記錄的存儲過程,根據(jù)表名和字段名生成SQL的Update語句,該存儲過程需要傳入索引號作為參數(shù);
      刪除一條記錄的存儲過程,根據(jù)表名和字段名生成SQL的Delete語句,該存儲過程需要傳入索引號作為參數(shù);
      獲取一條記錄的存儲過程,根據(jù)表名和字段名生成SQL的Select語句,該存儲過程需要傳入索引號作為參數(shù)。
      [0015]所有的代碼生成后,存儲在內(nèi)存中,然后寫入到目標(biāo)代碼生成器中。目標(biāo)代碼生成器的編輯區(qū)其實(shí)就是一個臨時的記事本文件,寫入代碼生成器的過程就是通過調(diào)用一個文件對象,使用二進(jìn)制流對象來寫入文件的。代碼全部寫入到目標(biāo)代碼生成器中后,則完成代碼自動生成。用戶可以根據(jù)自己的特殊需要在目標(biāo)代碼生成器中修改生成的代碼,修改完畢后使用者可以將生成的代碼直接拷貝到使用者的開發(fā)工具里。
      【具體實(shí)施方式】
      [0016]實(shí)施例一
      本實(shí)施例包括如下步驟:
      步驟一:使用者在電腦上安裝完本發(fā)明后,打開執(zhí)行文件,然后打開設(shè)置數(shù)據(jù)庫服務(wù)器對話框,在該對話框中選擇需要生成代碼的目標(biāo)數(shù)據(jù)庫,輸入數(shù)據(jù)庫服務(wù)器的用戶密碼,點(diǎn)擊確定連接數(shù)據(jù)庫;
      步驟二:連接上數(shù)據(jù)庫后,用戶選擇需要生成代碼的數(shù)據(jù)庫表;
      步驟三:選擇好數(shù)據(jù)庫表以后,本發(fā)明將按照用戶的設(shè)置自動生成計(jì)算機(jī)程序代碼,生成程序的代碼步驟如下所述:
      1:通過數(shù)據(jù)庫結(jié)構(gòu)識別組件調(diào)用第三方組件ADO (ActiveX Data Ob jects),該組件中的方法可以獲取數(shù)據(jù)庫中的表名及字段名,數(shù)據(jù)庫服務(wù)器名通過用戶在本發(fā)明的設(shè)置數(shù)據(jù)庫服務(wù)器對話框中輸入獲??;
      2:代碼生成組件根據(jù)獲取的表和表名及數(shù)據(jù)庫服務(wù)器名,依次生成如下幾個函數(shù): 函數(shù)I新增一條記錄:
      函數(shù)名為=AddRec,函數(shù)具體完成的操作為:打開數(shù)據(jù)庫連接,獲取新增記錄各個字段的值,新增記錄各個字段的值是通過函數(shù)的參數(shù)進(jìn)行傳遞的,然后執(zhí)行SQL的Add語句,之后關(guān)閉數(shù)據(jù)庫連接,函數(shù)結(jié)束。
      [0017]函數(shù)2根據(jù)記錄的索引號修改一條記錄:
      函數(shù)名為=UpdateRec,函數(shù)具體完成的操作為:打開數(shù)據(jù)庫連接,獲取修改的記錄各個字段的值,修改記錄各個字段的值是通過函數(shù)的參數(shù)進(jìn)行傳遞的,然后執(zhí)行SQL的Update語句,之后關(guān)閉數(shù)據(jù)庫連接,函數(shù)結(jié)束。
      [0018]函數(shù)3根據(jù)記錄的索引號刪除一條記錄:
      函數(shù)名為=DelRec,函數(shù)具體完成的操作為:打開數(shù)據(jù)庫連接,然后執(zhí)行SQL的Delete語句,搜索記錄的索引號通過函數(shù)的參數(shù)進(jìn)行傳遞,之后關(guān)閉數(shù)據(jù)庫連接,函數(shù)結(jié)束。
      [0019]函數(shù)4根據(jù)記錄的索引號獲取一條記錄:
      函數(shù)名為:SelOneRec,函數(shù)具體完成的操作為:打開數(shù)據(jù)庫連接,然后執(zhí)行SQL的Select語句,搜索記錄的索引號通過函數(shù)的參數(shù)進(jìn)行傳遞,之后關(guān)閉數(shù)據(jù)庫連接,返回查詢的記錄,函數(shù)結(jié)束。
      [0020]函數(shù)5獲取表中的所有記錄:
      函數(shù)名為:SelAllRec,函數(shù)具體完成的操作為:打開數(shù)據(jù)庫連接,然后執(zhí)行SQL的Select語句,之后關(guān)閉數(shù)據(jù)庫連接,需要返回的記錄通過數(shù)組傳出,函數(shù)結(jié)束。
      [0021]如使用者選擇需要生成存儲過程,則代碼生成組件根據(jù)獲取的表和表名及數(shù)據(jù)庫服務(wù)器名,依次生成如下幾個存儲過程:
      新增一條記錄的存儲過程,根據(jù)表名和字段名生成SQL的ADD語句;
      修改一條記錄的存儲過程,根據(jù)表名和字段名生成SQL的Update語句,該存儲過程需要傳入索引號作為參數(shù);
      刪除一條記錄的存儲過程,根據(jù)表名和字段名生成SQL的Delete語句,該存儲過程需要傳入索引號作為參數(shù);
      獲取一條記錄的存儲過程,根據(jù)表名和字段名生成SQL的Select語句,該存儲過程需要傳入索引號作為參數(shù)。
      [0022]所有的代碼生成后,存儲在內(nèi)存中,然后寫入到目標(biāo)代碼生成器中。目標(biāo)代碼生成器的編輯區(qū)其實(shí)就是一個臨時的記事本文件,寫入代碼生成器的過程就是通過調(diào)用一個文件對象,使用二進(jìn)制流對象來寫入文件的。代碼全部寫入到目標(biāo)代碼生成器中后,則完成代碼自動生成。用戶可以根據(jù)自己的特殊需要在目標(biāo)代碼生成器中修改生成的代碼,修改完畢后使用者可以將生成的代碼直接拷貝到使用者的開發(fā)工具里。
      【權(quán)利要求】
      1.一種程序代碼生成器,可以自動生成計(jì)算機(jī)程序代碼,其特征在于,生成的計(jì)算機(jī)程序代碼是基于C#語法的,可以用于訪問,修改,刪除已知的SqlServer或者Access數(shù)據(jù)庫表中數(shù)據(jù)的代碼,或者根據(jù)數(shù)據(jù)庫中表的結(jié)構(gòu)生成相應(yīng)數(shù)據(jù)庫存儲過程的代碼。
      2.根據(jù)權(quán)利要求1所述一種計(jì)算機(jī)程序代碼自動生成器,其特征在于包含如下組件: 數(shù)據(jù)庫結(jié)構(gòu)識別組件——用以訪問數(shù)據(jù)庫,識別出數(shù)據(jù)庫中表的表名及各個字段名,字段的屬性,取值范圍等信息; 代碼生成組件——用以在內(nèi)存中,根據(jù)數(shù)據(jù)庫結(jié)構(gòu)識別組件識別出的信息,按照C#語法生成相應(yīng)的代碼; 存儲過程生成組件——用以在內(nèi)存中,根據(jù)數(shù)據(jù)庫結(jié)構(gòu)識別組件識別出的信息,按照SQL語法生成相應(yīng)的存儲過程代碼; 目標(biāo)代碼生成器——一個類似于記事本的可編輯工具,生成后的代碼顯示在該編輯器中,使用者可以編輯生成后的代碼。
      3.根據(jù)權(quán)利要求2所述計(jì)算機(jī)程序代碼自動生成器,其特征在于:生成后的計(jì)算機(jī)程序代碼還可以被用戶編輯。
      【文檔編號】G06F9/44GK103713887SQ201210372966
      【公開日】2014年4月9日 申請日期:2012年9月29日 優(yōu)先權(quán)日:2012年9月29日
      【發(fā)明者】不公告發(fā)明人 申請人:鎮(zhèn)江金軟計(jì)算機(jī)科技有限責(zé)任公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1