时间比较时出现的问题 |
尚未結案
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
前辈:
//将日期格式为99-01-30转化为01/30/99格式
function getdate(xdate:tdate):string;
var
tmp:string;
begin
tmp:=formatdatetime('mm/dd/yyyy',xdate);
tmp:=copy(tmp,1,2) '/' copy(tmp,4,2) '/' copy(tmp,7,4);
result:=tmp;
end;
。。。。。。。。
result1:=getdate(date1);
result2:=getdate(date2);
。。。。。。。。。
with recordQuery do
begin
close;
sql.Clear;
sql.Add('SELECT a.bianma,a.mingcheng,a.daihao,a.jzrq,a.danjia,a.sll shuliang,a.danwei,a.ckm ck,a.jzdh,a.zhaiyao ghdanwei ');
sql.add('FROM "' djpath 'cwjbmxz"a');
sql.Add(wcj);
sql.Add('and danjia<>0');
sql.Add('and jzdh<>""');
sql.Add('and sll>=0');
sql.add('and jzrq BETWEEN "' result1 '" AND "' result2 '"');
sql.add('order by bianma');
open;
end;
不知如何修改才行麻烦前辈了。
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
//将日期格式为99-01-30转化为01/30/99格式
用我說的 :
FormatDateTime('mm"/"dd"/"yyyy',xDate)
就可以了不用另寫 function, 用 "/" 就是不理時間分隔是 / - . 都用 / 現在錯誤訊息還是 type mismatch 嗎? 你肯定 jzrq 的形態是 Date Field 還是以文字記錄嗎 ? 你有沒試試 :
sql.add('and jzrq BETWEEN ' quotedStr(result1) ' AND ' QuotedStr(result2) ' ');
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
前辈:我没去掉那个函数,外加你说的用sql.add('and jzrq BETWEEN ' quotedStr(result1) ' AND ' QuotedStr(result2) ' '),替原来的sql.add('and jzrq BETWEEN "' result1 '" AND "' result2 '"');错误提示一样。
jzrq是date type ,记录类型为03-02-12,通过函数已转成02/12/03 發表人 - deity 於 2003/06/16 15:43:37
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
试出来了。
附:
with recordQuery do
begin
close;
sql.Clear;
sql.Add('SELECT a.bianma,a.mingcheng,a.daihao,a.jzrq,a.sll shuliang,a.danjia,a.danwei,a.ckm ck,a.jzdh,a.zhaiyao ghdanwei ');
sql.add('FROM "'+djpath+'cwjbmxz"a');
sql.Add(wcj);
sql.Add('and danjia<>0');
sql.Add('and jzdh<>""');
sql.Add('and sll>0');
//sql.add('and jzrq BETWEEN ' + quotedStr(result1) + ' AND '+ QuotedStr(result2)+ ' ');
//sql.add('and jzrq BETWEEN "'+result1+'" AND "'+result2+'"');
sql.Add('and (jzrq>=:rq1)and (jzrq<=:rq2)');
sql.add('order by bianma');
//open;
end;
recordQuery.Params [0].DataType :=ftdate;
recordQuery.Params [0].Value :=date1;
recordQuery.Params [1].DataType :=ftdate;
recordQuery.Params [1].Value :=date2;
recordQuery.Active :=true;
end; 去掉getdatefunction ,date1:=datetimepicker1.value;date2:=datetimepicker2.value;
再稍为修改下就可以了,谢谢各前辈的帮助!
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |