在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

  1. 
    
    <b id="glvx9"></b>
        1. <blockquote id="glvx9"><meter id="glvx9"></meter></blockquote>
            首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
            2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
            MPA考試 | 中科院
            四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
            新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
            計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
            華為認(rèn)證 | Java認(rèn)證
            公務(wù)員 | 報關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
            報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
            人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
            駕駛員 | 網(wǎng)絡(luò)編輯
            衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護士
            會計從業(yè)資格考試會計證) | 經(jīng)濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務(wù)師
            注冊資產(chǎn)評估師 | 高級會計師 | ACCA | 統(tǒng)計師 | 精算師 | 理財規(guī)劃師 | 國際內(nèi)審師
            一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
            質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價師 | 土地估價師 | 巖土師
            設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項目管理師 | 土地登記代理人 | 環(huán)境影響評價師 | 環(huán)保工程師
            城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
            繽紛校園 | 實用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
            您現(xiàn)在的位置: 考試吧(Exam8.com) > 計算機等級考試 > 計算機二級 > Delphi > 復(fù)習(xí)資料 > 正文

            2011計算機等考二級Delphi輔導(dǎo)講義:SQL編程

            本章主要介紹用Delphi開發(fā)簡單的數(shù)據(jù)庫應(yīng)用程序的一般方法和步驟,首先讓讀者對Delphi強勁的數(shù)據(jù)庫應(yīng)用開發(fā)工具有一個直觀的印象,然后在此基礎(chǔ)上進行復(fù)雜的數(shù)據(jù)庫應(yīng)用程序的設(shè)計。

              17.4.4 Prepare方法的使用

              在使用動態(tài)SQL語句編程時,常常用到一個很重要的方法prepare,調(diào)用prepare 方法之后,Delphi會將帶參數(shù)的SQL語句傳送給與其對應(yīng)的數(shù)據(jù)庫引擎,對動態(tài)SQL語句進行語法分析和優(yōu)化。雖然在用動態(tài)SQL語句編程時,調(diào)用prepare方法并不是必須的,但是這里我們要極力推薦調(diào)用prepare方法,因為調(diào)用prepare方法后,會大大提高動態(tài)SQL 語句的執(zhí)行性能,特別是當(dāng)要反復(fù)多次執(zhí)行同一條動態(tài)SQL語句時,其優(yōu)越性會更加明顯。如果在應(yīng)用程序中執(zhí)行一條SQL語句之前并沒有顯式地調(diào)用prepare方法,每次在執(zhí)行SQL 語句時,Delphi會隱含地調(diào)用propare方法以準(zhǔn)備這個查詢。

              TQuery部件還有一個prepare屬性,這是一個布爾型屬性,當(dāng)其屬性值為True時,表明該查詢已被準(zhǔn)備好了( SQL 語句已被傳送到數(shù)據(jù)庫引擎中 ) ,當(dāng)我們使用參數(shù)編輯器Parameters Editor來為動態(tài)SQL語句中的參數(shù)賦值時,當(dāng)設(shè)置完相應(yīng)的參數(shù)值并退出參數(shù)編輯器時,Delphi會隱含地調(diào)用prepare方法以準(zhǔn)備好查詢。

              當(dāng)SQL語句執(zhí)行完之后,要想準(zhǔn)備下一個查詢,首先必須調(diào)用close方法,然后才能調(diào)用prepare方法準(zhǔn)備下一個查詢。一般來說,在一個應(yīng)用程序中應(yīng)該調(diào)用一次prepare方法,常常在窗體的OnCreate事件處理過程中調(diào)用prepare方法,然后用上述介紹的方法為參數(shù)賦值,最后調(diào)用Open方法或ExecSQL方法執(zhí)行SQL語句,以完成查詢。

              當(dāng)然在調(diào)用prepare方法準(zhǔn)備好一個查詢時,會消耗一些數(shù)據(jù)庫資源,因而每當(dāng)一個查詢執(zhí)行完畢之后,要養(yǎng)成調(diào)用Unprepare方法以撤消查詢的好習(xí)慣。在運行程序過程中,通過程序改變TQuery部件的SQL屬性值時,Delphi會自動地調(diào)用Close方法和Unprepare 方法,以撤消查詢。

              17.5 SQL編程實例

              我們在學(xué)習(xí)了SQL程序的編寫方法之后,我們便可以著手創(chuàng)建自己的應(yīng)用程序了,通過創(chuàng)建應(yīng)用程序我們對Delphi的強大功能就會有更深刻的印象,同時會進一步全面掌握有關(guān)SQL編程的知識,在本節(jié)中我們主要介紹兩個例子,前一個例子主要是用靜態(tài)的SQL語句編程,后一個例子是用動態(tài)SQL語句編程。

              17.5.1 設(shè)計簡單的SQL程序編輯器

              例17.1:在這個例子中,我們設(shè)計一個交互式的SQL程序編輯器,在這個編輯器中,我們可以根據(jù)SQL語言的語法規(guī)則,編寫常用的SQL命令,并通過單擊編輯器中的有關(guān)的按鈕,直接執(zhí)行編寫好的SQL命令,SQL命令的執(zhí)行結(jié)果也會及時地通過一個TDBGrid 部件顯示出來。

              表17.3 SQL編輯器中個主要部件的屬性

              ━━━━━━━━━━━━━━━━━━━━

              部 件 屬 性 值

              ────────────────────

              Form1 Caption=SQL程序編輯器

              DBGrid1 DataSource=DataSource1

              Button1 Caption=執(zhí)行(&E)

              Button2 Caption=清除(&C)

              Button3 Caption=退出(&X)

              Button3 kind=bkClose

              Memo1

              DataSource1 DataSet=Query1

              Query1 DatabaseName=DEMOS

              ━━━━━━━━━━━━━━━━━━━━

              因為我們在設(shè)置Query1的DatabaseName屬性時將其設(shè)置為DEMOS,所以我們設(shè)計的這個SQL程序編輯器只能對DEOMS中的數(shù)據(jù)庫表進行操作。

              單擊按鈕Button1的事件處理過程代碼為:

              程序清單17.1

              procedure TForm1.Button1Click(Sender:TObject);

              begin

              Query1.close;

              Query1.SQL.clear;

              Query1.SQL.Add(Memo1.text);

              Query1.Open;

              end;

              單擊按鈕Button2的事件處理過程為:

              程序清單17.2

              procedure TForm1.Button2Click(Sender:TObject);

              begin

              Query1.close;

              Query1.SQL.clear;

              Query1.ExceSQL;

              end;

              下面我們對程序清單17.1和程序清單17.2中的程序代碼進行簡要的分析:

              程序清單17.1中的程序代碼是用來執(zhí)行查詢的。

              Query1.close;

              這一行程序是用來關(guān)閉Query1的,我們在前面的章節(jié)中介紹過,只有在調(diào)用close 方法將TQuery部件關(guān)閉之后,才能修改其SQL屬性值,執(zhí)行close命令關(guān)閉查詢是很安全的,如果查詢已經(jīng)被關(guān)閉了,調(diào)用該方法不會產(chǎn)生任何影響。

              Query1.SQL.clear;

              因為TQuery部件的SQL屬性只能包含一條SQL語句,調(diào)用Clear 方法的目的是為了清除SQL屬性原來的屬性值即原來的SQL命令語句,如果不調(diào)用clear方法清除原來的SQL命令語句,當(dāng)在后面的程序中調(diào)用Add方法為SQL屬性設(shè)置新的SQL命令語句時,Delphi 會將新的SQL命令語句加在原來的SQL命令語句,這樣使得SQL屬性中包含兩條獨立的SQL語句,這是不允許的。

              Query1.SQL.Add(Memo.text);

              該條命令是將SQL編輯器的編輯區(qū)內(nèi)的內(nèi)容(TMemo部件Memo1)設(shè)置成Query1的SQL屬性值。

              Query1.open;

              該語句用來執(zhí)行Query1中的SQL命令語句,如果執(zhí)行查詢從數(shù)據(jù)庫中獲得查詢結(jié)果,查詢結(jié)果會在數(shù)據(jù)網(wǎng)格DBGrid1中顯示出來。

              程序清單2是用來清除查詢的,其前兩行語句跟程序清單1中的代碼是一樣的。Query1.ExecSQL有一些特別,調(diào)用ExecSQL方法也是打開Query1,ExecSQL方法與open方法不一樣的,請參看前面的章節(jié),當(dāng)Query1中SQL屬性值為空時,即沒有SQL語句時,只能調(diào)用ExecSQL方法來打開Query1,如果調(diào)用 open 方法會返回一個錯誤。 在執(zhí)行完 Query1.ExecSQL語句之后,應(yīng)用程序?qū)宄龜?shù)據(jù)網(wǎng)格DBGrid1中的所有內(nèi)容。

            上一頁  1 2 3 4 5 6 7 8 下一頁
              相關(guān)推薦:2010年9月計算機等級考試試題及答案解析專題
                   預(yù)告:名師解析2010年9月計算機等級考試試題答案
                   2010年9月計算機等級考試成績查詢時間及入口
                   2010年9月計算機等考成績查詢短信免費提醒開通
            文章搜索
            計算機等級考試欄目導(dǎo)航
            版權(quán)聲明:如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。