線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1094
推到 Plurk!
推到 Facebook!

DBLookupComboBox 由資料庫讀取值的問題??

尚未結案
hznhzn
一般會員


發表:5
回覆:3
積分:1
註冊:2005-01-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-24 17:47:25 IP:210.202.xxx.xxx 未訂閱
DBLookupComboBox由資料庫讀出的時間格式例為 '2005/01/24 下午 17:50:00' 有沒有什麼方式讀出來的資料 fromat 成 '2005/01/24'  或'2005/01/24 17:50:00' 一直試不出來..>"<..麻煩各位大大了...    
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-24 21:25:48 IP:211.20.xxx.xxx 未訂閱
hznhzn 你好
朝Field.OnGetText方向著手,應該就可以了      TForm1 = class(TForm)
    ......
    // 先宣告一個事件程序
    procedure DTFieldOnGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    ..
  private
    ......
  end;    var
  Form1: TForm1;    implementation    {$R *.DFM}    // 程序內容在此
procedure TForm1.DTFieldOnGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  If Sender.DataType IN [ftDate, ftTime, ftDateTime] Then Begin
    //格式化顯示文字
    Text := FormatDataTime('yyyy/mm/dd hh:nn:ss',Sender.Value);
  End;
end;    // 然後在Query.AfterOpen事件中動態掛上OnGetText事件程序
procedure TForm1.Query1AfterOpen(DataSet: TDataSet);
begin
  // DateField: 日期欄位名稱
  Query1.FieldByName('DateField').OnGetText := DTFieldOnGetText ;
end;    
_______________________________________ 深藍的魚,祝您好運..........連連
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-24 23:46:23 IP:61.59.xxx.xxx 未訂閱
基本上日期時間的格式都會配合作業系統的設定來顯示. 如果你是針對單一欄位的需求, 那麼可以依照 Chance36 的方式處理. 但要是你想處理的是程式的全部範圍這樣就有的改了. 你可以在 MainForm 的 OnCreate 加入下列程式 application.UpdateFormatSettings := false; LongDateFormat := 'yyyy/MM/dd'; ShortDateFormat := 'yyyy/MM/dd'; LongTimeFormat := 'hh:nn:ss'; ShortTimeFormat := 'hh:nn:ss'; 我是雪龍
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
hznhzn
一般會員


發表:5
回覆:3
積分:1
註冊:2005-01-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-25 09:27:19 IP:210.202.xxx.xxx 未訂閱
謝謝你們決解我的問題... 真是太感謝你們了.......
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-25 10:45:26 IP:211.22.xxx.xxx 未訂閱
有解決就好, 不過我倒是很好奇是什麼樣的需求會讓日期欄位要使用 DBLookupComboBox 來顯示, 選擇清單的來源又是如何產生呢? 一般都會用 Edit 配合 Mask 或是 DateTimePicker 的 Componer 來處理? 我是雪龍
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
hznhzn
一般會員


發表:5
回覆:3
積分:1
註冊:2005-01-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-25 11:56:28 IP:202.145.xxx.xxx 未訂閱
使用方法是先拉一個BDE控件的TQuery 下好SQL語法取得資料庫時間欄位..Name取為 Qtime 然後再拉一個Data Access控件中的TDataSource ..Name取為 DStime 將其屬性中DataSet設為 Qtime .... 再後拉一個DBLookupComboBox...將屬性中ListSource 設為DStime ... 這樣即可完成... 有這樣的做法是因為是要由資料庫取出有記錄的日期,來限定區間來作查詢.. 哈哈.... ------------------------------------ 我只是一個跑龍套的.. 上頭說什麼我就做什麼....
系統時間:2024-06-28 18:35:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!