全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1205
推到 Plurk!
推到 Facebook!

时间比较时出现的问题

尚未結案
deity
尊榮會員


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-16 09:37:37 IP:218.15.xxx.xxx 未訂閱
[Microsoft][ODBC Visual FoxPro Driver ]operator/operand type mismatch 如何解决呢? 發表人 - deity 於 2003/06/16 09:56:28
Justmade
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-16 10:15:05 IP:218.16.xxx.xxx 未訂閱
在 Local SQL (包括 FoxPro) 使用 SQL 做時間對比的話請將時間轉成 'MM/DD/YYYY' 的格式 並以 ' 括住: QutoedStr(FormatDateTime('mm"/"dd"/"yyyy',now)) 如 : Query1.SQL.Text := 'Select * from Table where ADate <= ' QutoedStr(FormatDateTime('mm"/"dd"/"yyyy',now));
deity
尊榮會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-16 10:46:28 IP:218.15.xxx.xxx 未訂閱
前辈: //将日期格式为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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-16 11:05:16 IP:218.16.xxx.xxx 未訂閱
//将日期格式为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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-16 15:18:08 IP:218.15.xxx.xxx 未訂閱
前辈:我没去掉那个函数,外加你说的用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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-17 17:34:22 IP:147.8.xxx.xxx 未訂閱
Hi deity, I don't have experience with VFP and am no expert on database . > class="code"> sql.add('and jzrq BETWEEN :BDate AND :EDate'); {...} ParamByName('BDate').AsDateTime := EncodeDate(1999,1,1); ParamByName('EDate').AsDateTime := Now;
deity
尊榮會員


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-18 08:08:58 IP:218.15.xxx.xxx 未訂閱
谢谢两位前辈的帮忙,之前Justmade前辈说叫我传DBF表上去,我不知如何操作, 所以没有传上去。 不过还是非常感谢两位前辈的帮忙。thanks!
deity
尊榮會員


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-06-19 16:14:50 IP:218.15.xxx.xxx 未訂閱
试出来了。 附: 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; 再稍为修改下就可以了,谢谢各前辈的帮助!
系統時間:2024-06-02 0:05:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!