請問:要如何將MonthCalendar和DBGrid相關連呢??...... |
答題得分者是:cashxin2002
|
girl197120
一般會員 發表:1 回覆:2 積分:0 註冊:2003-08-19 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 以下是小弟用到過的Code﹐將此Code寫在MonthCalendar的OnClick事件中﹕
procedure TForm1.MonthCalendar1Click(Sender: TObject); begin Label1.Caption := DateToStr(MonthCalendar1.Date); //用Label1來測試顯示一下日期 ADOQuery1.Close; ADOQuery1.SQL.Text := 'Select * From 訂單 where 訂購日期=:DATE'; //請將訂購日期欄位置換成您資料表中的日期欄位名稱 ADOQuery1.Parameters.ParamByName('DATE').Value := DateToStr(MonthCalendar1.Date); //与MonthCalendar所顯示相同日期的欄位被指定給DATE ADOQuery1.Open; end;參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
參考看看 建立一個form,擺一個MonthCalendar,在這個form的public區段宣告一個變數,變數型態是tdate(當然你也可以弄成property來存取,弄得比較OO),然後呢,在這個form的unit裡面寫一個procedure,可以傳入tdate形態的參數,然後在show這個form的時候可以依據這個傳入的參數來顯示日期(當然你也可以寫一個function,在這個from show modal之後且modalresult=mrok的時候,回傳一個型態為tdate的回傳值. 我知道你看得很累,我也key得很累. 呼.... 肚子餓的時候打字總是特別無力... There is a raising fire in my heart tonight,growing higher and higher in my soul
I want to ride on the silver dove far into the night,till I make you take me on your mighty wing,take me on your mighty wing to cross the sky
|
girl197120
一般會員 發表:1 回覆:2 積分:0 註冊:2003-08-19 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
girl197120
一般會員 發表:1 回覆:2 積分:0 註冊:2003-08-19 發送簡訊給我 |
你好丫~cashxin2002大哥哥~你的方法我也還
正在研究當中說~~
對了~為什麼在我打第一行
"Label1.Caption := DateToStr(MonthCalendar1.Date);"
改成
"DBGrid1:= DateToStr(MonthCalendar1.Date);"
還束不行呢?是因為那一行是label和MonthCalendar1.Date的固定公式嗎?
還有~~那個大哥哥你的ADOQuery1是delphi第六版或第七版的對不對?
我是用第五版的啦~如果用第五版的話,一樣可以做出來嗎?如果第五版真
的不行的話我還是可以用第七版的啦^^~~
而且~~也要把 ADOQuery1改成table嗎?嗯~~這是我目前的問題啦~
之後的我會繼續問地唷~
拜託~~大哥哥指點我一下下~好不好?~~
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 回答如下﹕
對了~為什麼在我打第一行
Label1.Caption := DateToStr(MonthCalendar1.Date);改成
DBGrid1:= DateToStr(MonthCalendar1.Date);
還束不行呢?是因為那一行是label和MonthCalendar1.Date的固定公式嗎?
//其實我寫這一句的目的是做一個小測試而已﹐确認是否可正确地把
//MonthCalendar中的日期值抓出來﹐對程式而已﹐也可以說是沒有影響﹒
//您用DBGrid1來抓這個字串值﹐當然不對啦﹐DBGrid是一個資料感知元件﹐
//目的是用來顯示當前資料集元件對應的資料表內容﹐而不是顯示一個字串喔 還有~~那個大哥哥你的ADOQuery1是delphi第六版或第七版的對不對?
我是用第五版的啦~如果用第五版的話,一樣可以做出來嗎?如果第五版真
的不行的話我還是可以用第七版的啦^^~~
而且~~也要把 ADOQuery1改成table嗎?嗯~~這是我目前的問題啦~
//第五版中就有提供ADO元件﹐所以用第五版也是可以做的啦
//為什么要把ADOQuery1改成Table﹖有些看不懂> 我把程式碼再貼一次﹐附上一些說明﹐可能對您的理解有些幫助﹒
< class="code">procedure TForm1.MonthCalendar1Click(Sender: TObject);
//MonthCalendar元件的OnClick事件中﹐該事件的作用是當點擊此
//MonthCalendar元件時﹐就執行事件中程式碼
begin
Label1.Caption := DateToStr(MonthCalendar1.Date);
//用Label1來測試顯示一下日期(僅測試而已﹐也可以不寫)
ADOQuery1.Close;
//關閉資料連線
ADOQuery1.SQL.Text := 'Select * From 訂單 where 訂購日期=:DATE';
//SQL語法﹐用來查詢訂單資料表中訂購日期欄位与變數:DATE相同的
//資料﹐請將[訂購日期]換成您資料表中的日期欄位名稱﹐[訂單]換成您
//資料表的名稱
ADOQuery1.Parameters.ParamByName('DATE').Value :=
DateToStr(MonthCalendar1.Date);
//上一句中有設定一個名為DATE的變數﹐在這里就指定該變數的值
//MonthCalendar1.Date是一個日期形態值﹐需要用DateToStr方法來轉換
//成字串形態﹐才能与('DATE').Value的形態相同
ADOQuery1.Open;
//開啟連線﹐也就是執行上面兩句SQL查詢﹐就會找出与MonthCalendar1
//點選日期的相同資料﹐并通過DBGrid顯示出來(您需要的效果)
end; 當然在此之前﹐您需要正确使用ADOConnection元件連接上資料庫﹐并在Form中加入ADOQuery元件連接上ADOConnection﹐DataSource元件連接上ADOQuery1﹐DBGrid元件連接上DataSouce﹒ 參考看看﹗ =====================
努力,相信會獲得美麗!
忻晟
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |