DELPHI設計資料庫查詢的幾種方法

來源:互聯網
上載者:User

DELPHI設計資料庫查詢的幾種方法

DELPHI在設計資料庫的查詢方面真是太簡單上手了,在實際運用中,本人歸納了以下幾點,與大家共用。
(一) 過濾
(1) 一般過濾
DELPHI在設計資料庫查詢時使用的最簡單最普遍的方法。在表的屬性中(例如TABLE1),有FILTER屬性,設定該屬性值為要查詢的條件,靜態設定方法就是直接在該屬性值後輸入條件,如:XB='男' AND NL<35 ,然後設定該表的另一屬性FILTERED值為TRUE,TABLE1.ACTIVE為TRUE後,這樣在DBGRID中就能看到合格記錄了;動態設定方法就是在程式的運行過程中根據應用需要設定和改變條件,這時在輸入條件時就用:
 WITH TABLE1 DO
 BEGIN
  FILTER :=' XB='+''''+'男'+''''+' AND NL<35 ';
 FILTERED :=TRUE ;
 END;
(2)查詢以某個字開頭的記錄
 如要查詢姓李的記錄,在FILTER中輸入:XM = '李* ';
(3)查詢備忘形或圖形欄位
  上面的查詢欄位是普通的欄位,如果要查詢MEMO,PICTURE之類的欄位,例要查詢簡曆不為空白時則在FILTER屬性值中輸入為: NOT ( JL IS NULL)。
(二) 使用SELECT語句
(1)一般的條件動態設定如下(比如資料庫名為DA.DB):
WITH QUERY1 DO
BEGIN
   CLOSE ;
   IF PREPARED THEN UNPREPARE ;
   SQL .CLEAR ;
   SQL .ADD(' SELECT * FROM DA WHERE XM= :XM ') ;
   PARAMS[0].ASSTRING:='劉清' ;
   PREPARE ;
   OPEN ;
 END;
  靜態設定,只要在QUERY1的SQL屬性值中輸入條件,如果條件中有參數(條件值為
:變數名),則在PARAMS的值設定中輸入條件值,是字母的話要區分大小寫,設定QUERY1的ACTIVE為TRUE即可。
(2)在查詢出來的結果中改變顯示的欄位名:
  如將查詢結果顯示的原欄位名XM改為 姓名:
   SELECT XM AS 姓名,XB,NL FROM DA
  這種方法可以針對在DBGRID中不同資料庫顯示出相同欄位。
  針對計算結果顯示一個欄位:(如查詢某人的年工資,XM-姓名,BM-部門,YGZ-月工資額)
   SELECT XM,BM,YGZ*12 AS 年工資額 FROM DA
  兩個欄位計算顯示一個結果欄位:(如查詢維修費用,SL-使用的零件數量,DJ:零件單價,DJBH-單據編號)
SELECT DJBH ,SL*DJ AS 維修費用 FROM WXK
(3)模糊查詢:
  使用LIKE 語句。如:要查詢檔案庫中名字叫'強'的人的記錄:
   SELECT * FROM DA WHERE XM LIKE '%強%'
  動態設定的話用:
   SELECT * FROM DA WHERE XM LIKE :XM
  然後設定參數:PARAMS[0].ASSTRING :='%強%' ;
 如果要查詢MEMO類欄位如簡曆中包含"教師"這個條件的:
SELECT * FROM DA WHERE JL LIKE '%教師%'

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.