首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi SQL 程式設計入門:靜態 SQL 編輯器與動態查詢器雙範例完整教學

     編輯:Delphi

17.5 SQL 程式設計實戰雙範例

17.5.1 靜態 SQL 程式編輯器(範例 17.1)

介面:Memo1 輸入 SQL、DBGrid1 顯示結果、三按鈕(執行/清除/離開)。
核心屬性:Query1.DatabaseName := 'DEMOS'(僅操作 DEMOS 別名下資料表)。

執行按鈕 (Button1Click)

procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.Close;           // 安全關閉,已關閉則無作用
  Query1.SQL.Clear;       // 清除舊 SQL(TQuery.SQL 只能容納單一陳述式)
  Query1.SQL.Add(Memo1.Text); // 載入新 SQL
  Query1.Open;            // 執行查詢,結果自動填入 DBGrid
end;

清除按鈕 (Button2Click)

procedure TForm1.Button2Click(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Clear;
  Query1.ExecSQL;         // ExecSQL 可在 SQL 為空時呼叫,Open 則會報錯
end;

關鍵差異:Open vs ExecSQL

  • Open:用於 SELECT 等回傳資料集的陳述式
  • ExecSQL:用於 INSERT/UPDATE/DELETE/DDL 等不回傳資料集的陳述式;SQL.Text='' 時只能呼叫 ExecSQL

執行 ExecSQL 後會清空 DBGrid 內容。

17.5.2 動態 SQL 查詢器(範例 17.2)

見下一篇文章詳細解析。核心差異:

維度靜態編輯器動態查詢器
SQL 來源使用者手寫完整 SQLUI 選擇組裝 WHERE 子句
彈性完整 SQL 功能限定單表單一條件
適用對象開發者/高階使用者一般終端使用者
安全性需自行防注入參數化組裝,風險較低

學習路徑建議

  1. 先用靜態編輯器熟悉 SQL 語法與 Query 元件行為
  2. 再研究動態查詢器的條件組裝、型別處理、多視窗協作模式
  3. 延伸:參數化查詢(Params)、多表 JOIN、預存程序呼叫

掌握這兩範例,即具備 Delphi SQL 程式設計從手工到自動化的完整能力光譜。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved