全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1042
推到 Plurk!
推到 Facebook!

請問二個delphi問題ADOQuery和DBGrid

尚未結案
stanlley
一般會員


發表:1
回覆:0
積分:0
註冊:2004-07-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-02 09:17:49 IP:218.175.xxx.xxx 未訂閱
<1> 我在資料表中有多個姓名欄,而每一個姓名欄都有當時的薪資 如何讓一個表單輸入一個姓名後就有他的每一個薪資資料 小弟我想說用ADOQuery使用sql語法 但表單跟程式如何設計呢?? <2> DBGrid的欄位太寬了執行表單就出現很長的拉軸 有什麼方式可以解決嗎???
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-02 09:47:05 IP:210.61.xxx.xxx 未訂閱
stanlley您好 第一個問題, 藉由操作ADOQuery1.Parameters可設定sql語法位於where之後撈資料的限定範圍 把下面sql程式拷到ADOQuery.SQl裡
declare @cname char(10)
set @cname=:cname
declare @result table(cname char(10),yymm char(6),salary int)
insert @result (cname,yymm,salary) values ('李小民','200401','28500')
insert @result (cname,yymm,salary) values ('張天賜','200401','32150')
insert @result (cname,yymm,salary) values ('李小民','200402','28500')
insert @result (cname,yymm,salary) values ('李小民','200403','28500')
insert @result (cname,yymm,salary) values ('李小民','200404','28500')
insert @result (cname,yymm,salary) values ('李小民','200405','28500')
insert @result (cname,yymm,salary) values ('李小民','200406','28500')    select * from @result where RTrim(cname)=@cname
然後在ButtonClick事件
procedure TForm1.Button1Click(Sender: TObject);
begin
  AdoQuery1.Close;
  AdoQuery1.Parameters.ParamValues['cname']:=Edit1.Text;
  AdoQuery1.Open;
end;
執行結果 第二個問題, 您可以雙擊adoquery1, 針對每個欄位DisplayWidth可做設定, 以適合DBGrid的外觀.
danielldf
一般會員


發表:44
回覆:60
積分:20
註冊:2003-05-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-02 09:50:19 IP:218.16.xxx.xxx 未訂閱
"<1>我在資料表中有多個姓名欄,而每一個姓名欄都有當時的薪資 如何讓一個表單輸入一個姓名後就有他的每一個薪資資料 小弟我想說用ADOQuery使用sql語法 但表單跟程式如何設計呢??" 以小弟的經驗,在表單中可以用兩種方式:一是用Edit或者Lable,當在一個Edit中輸入姓名後,通過onexit或者onenter事件,調用SQL查詢,在一個EDit中得出此人的薪資,但前提是姓名不要重復;二是在dbgrid中用picklist產生。 <2>DBGrid的欄位太寬了執行表單就出現很長的拉軸 有什麼方式可以解決嗎??? 欄位太寬了?那麼在設計中窄一點不行嗎? 努力过,还有什么遗憾呢!
系統時間:2024-06-02 4:36:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!