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 '%教師%'
設計資料庫
當資料庫比較複雜時 資料量大,表較多,業務關係複雜 需要預先設計資料庫。軟體專案的開發周期 1.需求分析 分析客戶的業務和資料處理需求 2.概要設計 設計資料庫的e r模型圖,確認需求資訊的正確和完整 3.詳細設計 將e r圖轉換為多張表,進行邏輯設計,並用資料庫設計的三大正規化進行審核 4.編寫 ...
資料庫設計 設計資料庫之前
1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...
資料庫設計 設計資料庫之前
1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...