请问各位关于如何引用QUERY得到的结果? |
尚未結案
|
kleit
一般會員 ![]() ![]() 發表:3 回覆:4 積分:1 註冊:2005-03-23 發送簡訊給我 |
数据库为PARADOX,将用SQL查询的字段DURATION的时间按小时、分、秒汇总,可已完成,但是结果是比如下面情况
HH MM SS
33 88 88
想改成结果显示为34小时29分28秒,请各位指点那里除了问题?
var
hour,min,sec:integer;
h,m,s:integer;
begin
Query1.Close;
Query1.SQL.clear;
Query1.SQL.Add('Select sum(Extract(hour from duration)) as HH, sum(Extract(minute from duration)) as MM, sum(Extract(second from duration)) as SS from Table1 );
Query1.open;
以上可以实现,关于HH,MM,SS字段SUM后的结果引用有问题
Hour:=strtoint('HH');
Min:=strtoint('MM');
Sec:=strtoint('SS');
h:=Hour (Min div 60);
m:=(Min mod 60) (Sec div 60);
s:=Sec mod 60;
label1.Caption:='时间是' IntToStr(h) '小时' IntToStr(m) '分' IntToStr(s) '秒';
|
wyndog
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:7 回覆:362 積分:348 註冊:2004-10-12 發送簡訊給我 |
引言: 以上可以实现,关于HH,MM,SS字段SUM后的结果引用有问题 Hour:=strtoint('HH'); Min:=strtoint('MM'); Sec:=strtoint('SS'); h:=Hour (Min div 60); m:=(Min mod 60) (Sec div 60); s:=Sec mod 60; label1.Caption:='时间是' IntToStr(h) '小时' IntToStr(m) '分' IntToStr(s) '秒';請問 錯誤就是發生在 StrToInt('HH') 那嗎? Sum 了之後,HH, MM, SS 應該是整數了吧? 那引用欄位,只要這麼寫就行了: Hour := Query1.FieldByName('HH').AsInteger; Min := Query1.FieldByName('MM').AsInteger; Sec := Query1.FieldByName('SS').ASInteger; |
jimmy_wei
高階會員 ![]() ![]() ![]() ![]() 發表:9 回覆:176 積分:147 註冊:2003-08-28 發送簡訊給我 |
var DT: TDateTime; iHH, iMM, iSS: Integer; begin DT:= 33/24 88/(24*60) 88/(24*3600); iHH:= Trunc(DT*24); iMM:= Trunc((DT*24-iHH)*60); iSS:= Trunc(((DT*24-iHH)*60-iMM)*60); ShowMessage('時間是' IntToStr(iHH) '小時' IntToStr(iMM) '分' IntToStr(iSS) '秒'); |
hagar
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
試試如下:
var h, m, s:integer; begin Query1.Close; Query1.SQL.Add('Select sum(Extract(second from duration)) as SS from Table1'); Query1.open; h := Query1.FieldByName('SS').AsInteger div 3600; m := (Query1.FieldByName('SS').AsInteger - h*3600) div 60; s := (Query1.FieldByName('SS').AsInteger - h*3600) - m*60; label1.Caption := '??是' IntToStr(h) '小?' IntToStr(m) '分' IntToStr(s) '秒'; end;-- 分擔可以輕省, 分享帶來喜樂! |
kleit
一般會員 ![]() ![]() 發表:3 回覆:4 積分:1 註冊:2005-03-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |