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

如何求得最新价格?

尚未結案
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-14 09:00:43 IP:218.15.xxx.xxx 未訂閱
如何求得最新价格?如何在DBEDIT中显示出产品的最新价格,和平均价格
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-14 11:19:55 IP:218.15.xxx.xxx 未訂閱
简化为:如何比较某字段日期(RQ)与当前时间最接近。
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-14 11:41:12 IP:61.155.xxx.xxx 未訂閱
求出字段中最大日期,便是与NOW相接近的 max(days(rq))    风花雪月 e梦情缘
------
风花雪月 e梦情缘
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-14 12:33:17 IP:211.76.xxx.xxx 未訂閱
引言: 简化为:如何比较某字段日期(RQ)与当前时间最接近。
可以利用這樣的語法(MSSQL): select top 1 * from table order by getdate() - RQ
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-14 18:35:17 IP:219.129.xxx.xxx 未訂閱
是这样的,我想比较出某产品的最新价格,现在字段(DANJIA单价),(RQ日期),如何用SQL语句做判断,并在DBEDIT中显示出来。谢谢各前辈!小弟敬上。
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-14 19:40:32 IP:61.155.xxx.xxx 未訂閱
是这样的,我想比较出某产品的最新价格,现在字段(DANJIA单价),(RQ日期),如何用SQL语句做判断,并在DBEDIT中显示出来。谢谢各前辈!小弟敬上。 1.取第一条就是的了 select 产品,最新价格,RQ日期 FORM TABLE where 产品=??? order by RQ日期 desc    2.找出最新的的日期 select 产品,最新价格,MAX(DAYS(RQ日期))FORM TABLE  where 产品=???     3.复杂的SQL找出 SELECT 产品,最新价格,RQ日期 FORM TABLE  WHERE RQ日期>ALL (SELECT RQ日期 FORM TABLE  WHERE 产品=??? ) AND 产品=???         风花雪月 e梦情缘
------
风花雪月 e梦情缘
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-14 20:34:28 IP:218.32.xxx.xxx 未訂閱
先說明你用何種資料庫, 可能比較快得到答案喔.
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-14 21:51:45 IP:218.15.xxx.xxx 未訂閱
我用的是DB表,我的情况为:我已经用了一个SQL查询,显示在DBGRID上,现想在显示的DBGRID表(包含有日期,单价,数量)中,提取出最新价格和平均价格,然后在另一控件DBEDIT中显示出来 。在字段中没有用到最新价格。 另:我现在有4个DB表,表中有着不同的内容:A中有编码,单价,日期。。。,等;B中有编码,单价,数量。。。。,其他表类似也有这些,但各表中的编码互相穿插,有相同的,也有不相同的,其他各字段也没有统一的相同的项。如何把这几个表统一起来。在DBGRID表中显示编码,单价,数量,日期等。
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-15 07:56:10 IP:61.155.xxx.xxx 未訂閱
请问各表之间有关联条件吗?是什么? 你上面的问题好象很含糊,请说明你的重点。并提供一个你想象的样式。    风花雪月 e梦情缘
------
风花雪月 e梦情缘
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-05-15 08:27:26 IP:218.15.xxx.xxx 未訂閱
表中除了有几个相同的字段名外,其他信息都是有点穿插,比如A表中包含有B表中的一些数据,而B表中也同样有A表的内容。 前辈,前面的问题,如何可以解决呢,现我在DBGRID中显示了我查询的内容,我想在另一控件DBEDIT中显示DBGRID(有字段价格,数量,日期)中的最新价格,还有平均价格。
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-05-15 08:35:52 IP:211.74.xxx.xxx 未訂閱
你可以把你自己寫的SQL語法程式碼貼上來嗎??我想這樣其他人比較好幫你看喔
引言: 表中除了有几个相同的字段名外,其他信息都是有点穿插,比如A表中包含有B表中的一些数据,而B表中也同样有A表的内容。 前辈,前面的问题,如何可以解决呢,现我在DBGRID中显示了我查询的内容,我想在另一控件DBEDIT中显示DBGRID(有字段价格,数量,日期)中的最新价格,还有平均价格。
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-05-15 09:06:23 IP:218.15.xxx.xxx 未訂閱
//显示在DBGRID的SQL查询 with recordQuery do begin close; sql.Clear; sql.Add('SELECT a.bianma(编码),a.mingcheng(名称),a.daihao(代号),a.jzrq(日期),a.danjia(单价),a.ckm,a.jzdh '); sql.add('FROM "' dblj 'cwjbmxz"a'); sql.Add(wcj);//wcj:wcj:='where bianma like"' bm '%"'; sql.Add('and danjia<>0'); sql.add('and jzrq BETWEEN "' result1 '" AND "' result2 '"');//result1,2:是一个DateTimePicker时间 sql.add('order by bianma'); open; end; 现我另有二个控件DEBEIT1,2。Q:点击DBGRID表的某一产品时,在DBEDIT1,2中显示出最新价格,和平均价格
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-05-15 09:34:30 IP:211.74.xxx.xxx 未訂閱
1.jzrq是你的日期欄位吧??型態ㄋ?? 2.你一開始的問題是.. <如何求得最新价格?如何在DBEDIT中显示出产品的最新价格,和平均价格> 請問一下..你要在什麼時機顯示出你要的??新增?存檔??或是ButtonClickㄋ??
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-05-15 09:48:06 IP:218.15.xxx.xxx 未訂閱
jzrq是DATE类型。 我想在recordQueryAfterScroll的时候(在DBGRID滑动时)显示出来, 小弟愚钝,让各前辈费心了。谢谢。
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-05-15 10:33:26 IP:211.74.xxx.xxx 未訂閱
想了一想,你這樣好像有點怪怪的,可以把程式跟Table上傳嗎??
引言: jzrq是DATE类型。 我想在recordQueryAfterScroll的时候(在DBGRID滑动时)显示出来, 小弟愚钝,让各前辈费心了。谢谢。
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#16 引用回覆 回覆 發表時間:2003-05-15 10:35:29 IP:218.16.xxx.xxx 未訂閱
要另外用 Query 做 NewPriceQuery : 最新價錢,連接 DBEdit1 若你也想看日期,可連 jzrq 也 select AvgPriceQuery : 平均價錢,連接 DBEdit2 在 recordQueryAfterScroll 事件設定 : NewPriceQuery.Active := false; NewPriceQuery.SQL := 'Select danjia from "' dblj 'cwjbmxz" where bianma = :bianma order by jzrq desc'; NewPriceQuery.ParamByName('bianma') := recordQuery.FieldByName('bianma').AsString; NewPriceQuery.Active := true; AvgPriceQuery.Active := false; AvgPriceQuery.SQL := 'Select AVG(danjia) from "' dblj 'cwjbmxz" where bianma = :bianma'; AvgPriceQuery.ParamByName('bianma') := recordQuery.FieldByName('bianma').AsString; AvgPriceQuery.Active := true;
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#17 引用回覆 回覆 發表時間:2003-05-18 10:35:41 IP:218.15.xxx.xxx 未訂閱
前辈,好像不行,有提示说,TString与String冲突。 还望前辈说详细点,我好菜
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#18 引用回覆 回覆 發表時間:2003-05-18 12:35:18 IP:218.32.xxx.xxx 未訂閱
只是幫 Justmade 大大補些漏打的字, 希望 diety 問題早日解決.
引言: NewPriceQuery.Active := false; NewPriceQuery.SQL.Text := 'Select danjia from "' dblj 'cwjbmxz" where bianma = :bianma order by jzrq desc'; NewPriceQuery.ParamByName('bianma').AsString := recordQuery.FieldByName('bianma').AsString; NewPriceQuery.Active := true; AvgPriceQuery.Active := false; AvgPriceQuery.SQL.Text := 'Select AVG(danjia) from "' dblj 'cwjbmxz" where bianma = :bianma'; AvgPriceQuery.ParamByName('bianma').AsString := recordQuery.FieldByName('bianma').AsString; AvgPriceQuery.Active := true;
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#19 引用回覆 回覆 發表時間:2003-05-18 13:30:11 IP:218.16.xxx.xxx 未訂閱
哈哈哈 我超多筆誤的說 太倚賴 debugger 啦 反正我寫程式都是 Run 時跳出一大堆 Error 然後 數分鐘修正所有錯誤,對我來說這比花多數十分鐘寫少錯誤的程式碼有效率 但 post 出來對方若也是有經驗的當然可輕鬆解決這些筆誤,但對於初學者是真的會帶來不便,對不起啦。 也謝謝 Micky 兄和 別的高手幫忙指正。
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#20 引用回覆 回覆 發表時間:2003-05-20 08:01:27 IP:218.15.xxx.xxx 未訂閱
前辈,又如何在DBEdit中显示出最新价格呢?
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#21 引用回覆 回覆 發表時間:2003-05-20 08:12:28 IP:218.16.xxx.xxx 未訂閱
每個 query 都要做一個 datasources 來連接 DBEdit1.DataSources : NewPriceDS DBEdit1.Field : danjia NewPriceDS.DataSet : NewPriceQuery AvgPriceQuery 也是相類的設定
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#22 引用回覆 回覆 發表時間:2003-05-20 09:38:00 IP:218.15.xxx.xxx 未訂閱
前辈,会有提示: NewPriceQuery:Parameter'bianma'not found
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#23 引用回覆 回覆 發表時間:2003-05-20 10:14:04 IP:218.15.xxx.xxx 未訂閱
另附: procedure TfindForm.recordQueryAfterScroll(DataSet: TDataSet); begin chengbQuery.Active := false; chengbQuery.SQL.Text := 'Select danjia from "' dblj 'cwjbmxz" where bianma =: bianma order by jzrq desc'; chengbQuery.ParamByName('bianma').AsString :=recordQuery.FieldByName('bianma').AsString; chengbQuery.Active := true; with recordQuery do begin bmEdit.Text :=recordQuery.fieldbyname('bianma').AsString ; mcEdit.Text :=recordQuery.fieldbyname('mingcheng').AsString ; ckEdit.Text :=recordQuery.fieldbyname('ckm').AsString ; rkdhedit.Text :=recordQuery.fieldbyname('jzdh').AsString ; end; end; 其中 recordQuery 是记录查询,显示在DBGrid中; chengbQuery 是最新价格查询,显示在DBEdit中。
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#24 引用回覆 回覆 發表時間:2003-05-20 14:06:53 IP:218.16.xxx.xxx 未訂閱
引言: 另附: procedure TfindForm.recordQueryAfterScroll(DataSet: TDataSet); begin chengbQuery.Active := false; chengbQuery.SQL.Text := 'Select danjia from "' dblj 'cwjbmxz" where bianma = :bianma order by jzrq desc'; chengbQuery.ParamByName('bianma').AsString :=recordQuery.FieldByName('bianma').AsString; chengbQuery.Active := true; with recordQuery do begin bmEdit.Text :=recordQuery.fieldbyname('bianma').AsString ; mcEdit.Text :=recordQuery.fieldbyname('mingcheng').AsString ; ckEdit.Text :=recordQuery.fieldbyname('ckm').AsString ; rkdhedit.Text :=recordQuery.fieldbyname('jzdh').AsString ; end; end; 其中 recordQuery 是记录查询,显示在DBGrid中; chengbQuery 是最新价格查询,显示在DBEdit中。
紅色部份要連在一起的因為 : 就是說明連著的字是一個 parameter 發表人 - Justmade 於 2003/05/20 14:14:12
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#25 引用回覆 回覆 發表時間:2003-05-27 20:41:19 IP:219.129.xxx.xxx 未訂閱
谢谢各大大的费心!非常感谢!
系統時間:2024-06-02 1:07:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!