導航:首頁 > 編程語言 > delphi編程培訓

delphi編程培訓

發布時間:2023-07-22 03:58:53

A. DELPHI基礎教程:SQL編程(一)[4]

利用參數編輯器(Parameter Editor)來為參數賦值

具體方法是 選中TQuery部件 單擊滑鼠右鍵 然後從中選擇Define Parameters 便可以打開參數編輯器

例如 在TQuery部件的SQL屬性中我們設置如下的SQL語句

Setect * From Customer Where CustNO=:Number;

TQuery的DatabaseName屬性為DBDEMOS 其中Number為參數變數 我們便可以為參數Number賦值 在Datetype組合框中選擇該參數的數據類型為整數Integer 在Value編輯框中可以為參數Number賦一個值 也可以單擊Null Value檢查框為參數Number賦一個空值Null 給參數賦值之後 單擊OK按鈕 這樣TQuery部件中的SQL 查詢便准備好了 而且參數值也被賦給了動態SQL語句中相應的參數 此時當把TQuery 部件的Active屬性設置成True時 在與TQuery部件相連的數據瀏覽部件中會顯示出查詢結果 通過參數編輯器為參數賦值 這種方式缺乏應有的靈活性 在實際應用中用得較少 在實際應用中程序設計人員希望用更靈活方便的方式為參數賦值 那就是我們接下來要介紹的另一種途徑

在運行過程中 通過程序為參數賦值

用這種方式為參數賦值有三種方法

①根據參數在SQL語句中出現的順序 設置TQuery部件的Params屬性值為參數賦值

②直接根據SQL語句中各參數的名字 調用ParamByName方法來為各參數賦值

③將TQuery部仔銀遲件的DataSource屬性設置為另一個數據源 這樣將另一個數據源中與當前TQuery部件的SQL語句中的參數名相匹配的欄位值賦給其對應的參數

這三種方法我們將在下面的三小節中具體地介紹

使用Params屬性為參數賦值

TQuery部件具有一個Params屬性 它們在設計時不可用 在程序運行過程中可用 並且是動態建立的 當為TQuery部件編寫動態SQL 語句時 Delphi 會自動地建立一個數組Params 數組Params是以 下標開始的 依次對應動態SQL 語句中的參數 也就是說動態SQL語句中第一個參數對應Params[ ] 第二個參數對應params[ ] 依此類推

例如 一個TQuery部件Query 我們為它編寫的動態SQL語句是

Insert Into Customer(CustNo Name Country)

Values(念李 CustNo :Name : Country)

對於上述這條動態SQL語句中的參數 我們可以利用TQuery部件的params 屬性為參數賦值

Query params[ ] AsString := ;

Query params[ ] AsString := Lichtenstein ;

Query params[ ] AsString := USA ;

上述語句將把 賦給參數 Cuse_No Lichtenstein 賦給參數 Name USA 賦給參數 Country

使用ParamByName方法為參數賦值

ParamByName是一個函數 用動態SQL語句中的參數作為調用ParamByName函數的參數 這樣便可以為它們賦值 使用這種賦值方法 必須要知道動態SQL語句參數的名字

例如在 節中的例子中 也可以用下述方法給參數賦值

Query ParamByName( CustNo ) AsString := ;

Query ParamByName( Name ) AsString := Lichtenstein ;

Query ParamByName( Country ) AsString := USA ;

使用這種方法同樣可以為各參數賦值 而且更加直觀一些

使用Datasource屬性為參數賦值

上述兩種方法的共同特點是 我們在為各參數賦值時 我們是知道各參數對應的具體參數值的 而在具體的應用程序中 有些參數值常常是無法確定的 例如參數值來自於另搏宴一個查詢結果 對於這種情況 Delphi提供了使用Datasource屬性為動態SQL 語句中尚存在沒有賦值的參數時 Delphi 會自動檢查 TQuery 部件的 Datasource 屬性 如果為Datasource屬性設置了屬性值(該屬性的值是另一個TDatasource部件的名字) Delphi 會把沒有賦值的參數與TDatasource部件中的各欄位比較 Delphi 會將相應的欄位值賦給與其相匹配的參數 利用這種方法也能實現所謂的連接查詢 我們在學習使用TTable部件時 便會創建主要 明細型資料庫應用 用TQuery部件創建的連接查詢與主要 明細型應用是相似的

例如 在如圖 所示的應用中 設置了下列部件

● 一個TTable部件

名字為Cust 它的DatabaseName屬性為DEMOS TableName屬性為Customer

● 一個TDatasource部件

名字為Custsource 其Dataset屬性被設置為Cust

● 一個TQuery部件

名字為ORDERS 其DatabaseName被設置為DEMOS SQL屬性值為

Select Orders CustNo Orders OrderNo Orders SaleDate FROM Orders

WHERE Orders CustNo =: CustNo

ORDERS的DataSouce屬性被設置為CustSource

● 一個TDatasource部件

名字為OrderSource 其DataSet屬性被設置為Orders

● 兩個TDBGrid部件

它們分別連接CustSource和OrderSource

TQuery部件Orders中的動態SQL語句中的參數 CustNo在程序設計過程中沒有給它賦值 當該應用程序運行時Delphi會自動地到其Datasource屬性中說明的數據源CustSource中查找與參數 CustNo匹配的欄位 而CustSource中正好有一個名字為 CustNo 的欄位與參數 CustNo匹配 這樣Customer表中的CustNo欄位值被賦給了參數 : CustNo 而當每移動Customer表中的記錄指針 參數 CustNo的值會隨之改變 而參數 CustNo的值發生改變時 Orders中的動態SQL語句會根據新的參數值重新查詢 從資料庫表中獲取相應的訂單數據 這樣也變實現了類似於主要 明細型應用 即連接查詢

Prepare方法的使用

在使用動態SQL語句編程時 常常用到一個很重要的方法prepare 調用prepare 方法之後 Delphi會將帶參數的SQL語句傳送給與其對應的資料庫引擎 對動態SQL語句進行語法分析和優化 雖然在用動態SQL語句編程時 調用prepare方法並不是必須的 但是這里我們要極力推薦調用prepare方法 因為調用prepare方法後 會大大提高動態SQL 語句的執行性能 特別是當要反復多次執行同一條動態SQL語句時 其優越性會更加明顯 如果在應用程序中執行一條SQL語句之前並沒有顯式地調用prepare方法 每次在執行SQL 語句時 Delphi會隱含地調用propare方法以准備這個查詢

TQuery部件還有一個prepare屬性 這是一個布爾型屬性 當其屬性值為True時 表明該查詢已被准備好了( SQL 語句已被傳送到資料庫引擎中 ) 當我們使用參數編輯器Parameters Editor來為動態SQL語句中的參數賦值時 當設置完相應的參數值並退出參數編輯器時 Delphi會隱含地調用prepare方法以准備好查詢

當SQL語句執行完之後 要想准備下一個查詢 首先必須調用close方法 然後才能調用prepare方法准備下一個查詢 一般來說 在一個應用程序中應該調用一次prepare方法 常常在窗體的OnCreate事件處理過程中調用prepare方法 然後用上述介紹的方法為參數賦值 最後調用Open方法或ExecSQL方法執行SQL語句 以完成查詢

當然在調用prepare方法准備好一個查詢時 會消耗一些資料庫資源 因而每當一個查詢執行完畢之後 要養成調用Unprepare方法以撤消查詢的好習慣 在運行程序過程中 通過程序改變TQuery部件的SQL屬性值時 Delphi會自動地調用Close方法和Unprepare 方法 以撤消查詢

返回目錄 DELPHI基礎教程

編輯推薦

Java程序設計培訓視頻教程

J EE高級框架實戰培訓視頻教程

Visual C++音頻/視頻技術開發與實戰

Oracle索引技術

ORACLE G資料庫開發優化指南

Java程序性能優化 讓你的Java程序更快 更穩定

C嵌入式編程設計模式

Android游戲開發實踐指南

lishixin/Article/program/Delphi/201311/25147

B. 在哪學編程

學習編程,推薦選擇【達內教育】。

該機構是引領行業的職業教育公司,致力於面向IT互聯網行業,培養軟體開發工程師、系統管理員、UI設計師、網路營銷工程師、會計等職場人才,擁有強大的師資力量,實戰講師對實戰經驗傾囊相授,部分講師曾就職於IBM、微軟、Oracle-Sun、華為、亞信等企業,其教研團隊更是有獨家26大課程體系,助力學生系統化學習,同時還與各大高校進行合作,助力學生職業方向的發展。
學習編程是一件好事,目前對於編程有很多種編程語言以及相對應的開發軟體 根據自身的情況選一種語言進行學習不要盲亂學習。常用的編程語言有以下幾種:
C語言 一種可移植性和多系統平台的編程語言 開發軟體TC 。
VB 一種可以說是既學既用的軟體開發語言 開發軟體如:VB6.0 。
DELPHI 一種和VB差不多的既學既用的軟體開發語言不過其功能遠比VB強大 代碼書寫上更加方便 。
開發軟體 DELPHI7.0 。
JAVA 一種功能強大可移植性強開發語言。

想了解更多有關編程的詳情,推薦選擇【達內教育】。該機構具有豐厚的師資力量,優秀的教學體系,教學質量突出,實戰講師,經驗豐富,理論知識+學習思維+實戰操作,打造完整學習閉環。達內教育獨創TTS8.0教學系統,並設有企業雙選會。達內的OMO教學模式,全新升級,線上線下交互學習,直播學,隨時學,隨時問,反復學,學習安排更便捷。→感興趣的話點擊此處,免費學習一下

閱讀全文

與delphi編程培訓相關的資料

熱點內容
雲伺服器如何安裝freenas 瀏覽:179
加密的ts視頻播放器 瀏覽:787
應用市場源碼iapp 瀏覽:877
單片機開發套件 瀏覽:116
35歲程序員跨不過去的坎 瀏覽:718
php定義靜態類 瀏覽:335
燃氣管三分加密 瀏覽:639
重名文件或者文件夾的操作方法 瀏覽:683
向全國進軍命令發布時間 瀏覽:670
如何知道自己在app的個人信息 瀏覽:340
文件夾中隱藏的視頻 瀏覽:857
單位dns伺服器未響應什麼意思 瀏覽:422
仙經pdf 瀏覽:349
文件夾不能創建快捷方式判斷題 瀏覽:382
ae1370y壓縮機 瀏覽:86
java泡泡龍 瀏覽:496
php怎麼打補丁 瀏覽:374
java銀聯支付介面 瀏覽:451
db2命令創建表空間 瀏覽:251
javalinux調用shell 瀏覽:417