導航:首頁 > 編程語言 > Delphi編程篇

Delphi編程篇

發布時間:2024-06-25 08:21:03

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

靜態方式是把SQL命令文作為TQuery部件的SQL屬性值進行設置 這樣 當執行應用程序時 Delphi便執行TQuery部件SQL屬性中設置的SQL命令 如果是SQL中的查詢命令 把TQuery部件通過TDataSource部件與數據控制部件相連 查詢的結果將會顯示在與 TQuery部件相連接的數據瀏覽部件中 動態SQL語句是指SQL語句中包含一些參數變數 在程序中可以為這些參數賦值 在程序運行過程中 各個參數值是變化的 TQuery部件的SQL 屬性中的SQL語句的編寫也有兩種方法 一種方法是在程序設置階段便將相應的SQL語句寫入到TQuery的SQL屬性中 另一種方法是在Delphi開發的應用程序將SQL語差敏句 包含在Pascal代碼單元中

在SQL編程中使用TQuery部件的具體方法步驟如下

①為TQuery部件設置DatabaseName屬性 它可以是用BDE建立的資料庫的別名 或桌面資料庫系統中的目錄名或資料庫伺服器中的文件名 如果在應用中使用了TDatabase 部件 那麼TQuery部件的DatabaseName屬性可以是TDatabase部件中定義的一個資料庫別名 詳細情況請參看 TDatabase部件的使用 ;

②為TQuery部件設置SQL屬性 TQuery部件的SQL屬性值就是應用程序要執行的SQL 命令文本 設置SQL屬性有兩種方法

● 在程序設計過程中 我們可以通過對象瀏覽器(Object Inspector)編輯SQL屬性在Object Inspector中選擇SQL屬性 這樣會打開String List Editor窗口 在其中我們便可以編寫SQL命令 我還可以打開Visual Query Builder來編寫SQL命令 (只有Delphi的客戶/伺服器版本才具有這一工具)

● 將SQL命令包含在Pascal代碼單元中

旦則在程序運行過程中 首先調用TQuery部件的Close方法關閉當前的TQuery部件 然後調用Clear方法清除SQL屬性 並說明新的SQL命令文本 然後調用Add方法 將新的SQL命令文本加入到SQL屬性中

③通過調用TQuery部件的Open方法或ExecSQl方法執行 SQL 命令 Open 方法只執行Select命令 ExecSQL方法還可以執行其它的SQL命令 Open方法和ExecSQL 方法的區別我們在後面的章節里會進一步地加以討論的

如果使用動態SQL語句 首先調用prepare方法 給動態SQL語句中的參數賦值 然後再調用Open方法或ExecSQL方法 調用propare 方法並不是必須的 但是對於要多次執行TQuery部件中SQL屬性中的動態SQL語句 調用Prepare可以大大提高TQuery部件執行SQL語句的性能

在TQuery部虛遲枝件中編寫簡單的SQL查詢命令

在這一節里我們將學習如何使用TQuery部件編寫簡單的SQL查詢命令 並在Delphi 應用程序中實現SQL查詢

例如 如果我們想查詢出表Customer DB中客戶的編號和公司名稱 我們按下列步驟來實現

①在應用窗體中放置一個TQuery部件 一個TDataSource部件一個TDataGrid部件 並將它們連接起來

②設置窗體TQuery 部件Query 的DatabaseName屬性值為DBDEMOS

③雙擊Object Inspector窗口中Query 的SQL 屬性 Delphi 將顯示 String List Editor窗口

④在圖 中的窗口中輸入SQL語句

Select CustNo Company From Custormer;

⑤單擊OK按鈕 關閉String List Editor窗口

⑥設置Query的Open屬性為True

SQL語言編程概述

在Delphi應用程序中的SQL命令語句是包含在TQuery部件的SQL屬性中 TQuery部件的SQL屬性是TString類型的 也就是說SQL屬性值是一個字元串列表 這個字元串列表非常類似於一個字元串類型的數組 有關TString類型的信息請參看聯機幫助 在前一節里我們介紹了TQuery部件可以執行兩種SQL語句

● 靜態SQL語句

● 動態SQL語句

靜態SQL語句在程序設計時便已固定下來 它不包含任何參數和變數 例如下面的語句便是一條靜態SQL語句

Select * From Cusromer Where CustNo = ;

而動態SQL語句 也被稱作參數化的語句 在其中間包含著表示欄位名或表名的參數 例如下面的語句是一條動態SQL語句

Select * From Customer Where CustNo =: Number;

其中的變數Number便是一個參數變數 它由一個冒號引導 在程序運行過程中 必須要為該參數賦值 該條SQL語句才能正確執行 每次運行應用程序時可以為該參數變數賦予不同的值

SQL命令文本的編寫

使用String List Editor編寫

我們要為TQuery部件的SQL屬性設置SQL命令文本時 可以在應用窗體中選擇TQuery部件且雙擊Object Inspector窗口中的SQL屬性 這樣便打開了String List Editor 窗口 在該窗口中我們便可以編寫各種SQL命令 如圖 所示

在編寫完適當的SQL語句之後 選擇 OK 按鈕便可以將編輯器中的 SQL 命令文裝入到TQuery部件的SQL屬性中 選擇SAVE按鈕可以將編寫好的SQL命令保存到一個文件中供以後編程時使用 我們在編寫SQL命令文本時還可以選擇Load按鈕從一個 SQL 命令文件中調入SQL命令 在程序運行過程中 要想設置TQuery部件的SQL屬性 必須首先調用Close方法 關閉TQuery部件 然後再調用Clear方法清除SQL屬性中現存的SQL命令語句 最後再調用Add方法為SQL屬性設置新的SQL命令語句 例如

Query Close {關閉Query )

Query SQL Clear {清除SQL屬性中的SQL命令語句}

Query SQL Add( Select * From Country )

Query SQL Add( Where Name = ARGENTINA )

在為TQuery部件設置SQL屬性時調用Close方法總是很安全的 如果TQuery部件已經被關閉了 調用Close方法時不會產生任何影響 在應用程序中為SQL屬性設置新的SQL 命令語句時 必須要調用Clear方法以清除SQL屬性中現存的SQL命令語句 如果不調用Clear方法 便調用Add方法向SQL屬性中設置SQL命令語句 那麼新設置的SQL命令語句會追加在現存SQL命令語句後面 在程序運行時常常會出現出乎意料的查詢結果甚至程序無法運行下去

在這里要特別注意的 一般情況下TQuery部件的SQL屬性只能包含一條完整的SQL語句 它不允許被設置成多條SQL語句 當然有些資料庫伺服器也支持在TQuery部件的SQL屬性中設置多條SQL語句 只要資料庫伺服器允許這樣 我們在編程時可以為 SQL 屬性設置多條SQL語句

lishixin/Article/program/Delphi/201311/25145

閱讀全文

與Delphi編程篇相關的資料

熱點內容
風險app在哪裡下載 瀏覽:67
在線免費觀看網站 瀏覽:834
國外男男片 瀏覽:333
復雜零件加工編程 瀏覽:794
pdf如何加深顏色 瀏覽:774
android文件刪除命令 瀏覽:915
快播 瀏覽:622
雲伺服器測試作業 瀏覽:737
書簽怎麼移動到文件夾 瀏覽:577
iosoppo怎麼把數據傳輸到安卓 瀏覽:236
sql預處理命令 瀏覽:319
linux安裝swftools 瀏覽:621
python執行環境 瀏覽:326
c語言回歸演算法 瀏覽:136
色階命令實現的功能為 瀏覽:49
盲區雷達編程匹配 瀏覽:685
輕量應用伺服器如何下載qq 瀏覽:962
數據存放在ecs雲伺服器 瀏覽:974
文件夾和上網有關系嗎 瀏覽:472
求索app進去一直看不了怎麼辦 瀏覽:190