请教1个SQL查询? |
尚未結案
|
yumena555
一般會員 發表:6 回覆:7 積分:2 註冊:2005-10-20 發送簡訊給我 |
各位大大好,小弟初学DELPHI,请大家帮忙看看下面代码有什么问题:
str1:='';
str2:='';
str1:=str1+quotedstr(edit4.Text)+'-';
str1:=str1+quotedstr(ComboBox1.Text)+'-';
str2:=str1+'31';
str1:=str1+'01';
str:='';
str:=str+'select * from 派工单 where 产品="'+ edit2.Text+'" and 日期 between '+quotedstr(str1)+'and'+quotedstr(str2);
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(str);
query1.RequestLive:=true;
query1.Open;
运行以后,提示下面的错误:
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
你好:
改成如下试试: str1:=''; str2:=''; str1:=str1 edit4.Text '-'; //去除quotedstr str1:=str1 ComboBox1.Text '-';//去除quotedstr str2:=str1 '31'; str1:=str1 '01'; str:=''; str:=str 'select * from 派工单 where 产品="' edit2.Text '" and 日期 between "' str1 '" and "' str2 '"';//去除quotedstr,str1\2前后加"",注意空格 showmessage(str); //看看语句对否 query1.Close; query1.SQL.Clear; query1.SQL.Add(str); query1.RequestLive:=true; query1.Open; end; 不对的话,请说明为何种资料库 |
yumena555
一般會員 發表:6 回覆:7 積分:2 註冊:2005-10-20 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 首先您要确認Str1和Str2的字串值可以被正常的轉換為日期時間形態﹐若确認請試試如下程式碼﹕
begin str1 := quotedstr(edit4.Text)+'-'; str1 := str1 + quotedstr(ComboBox1.Text)+'-'; str2 := str1 + '31'; str1 := str1 + '01'; str:='select * from 派工单 where 产品='''+edit2.Text+''' and 日期 between :DateTemp1 and :DateTemp2'; query1.Close; query1.SQL.Clear; query1.SQL.Add(str); query1.Params[0].AsDateTime := StrToDateTime(Str1); query1.Params[1].AsDateTime := StrToDateTime(Str2); query1.RequestLive:=true; query1.Open; end;================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟 |
yumena555
一般會員 發表:6 回覆:7 積分:2 註冊:2005-10-20 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 請注意看如下SQL敘述句中紅色的部分﹕
str:='select * from 派工单 where 产品='''+edit2.Text+''' and 日期 between :DateTemp1 and :DateTemp2';
在SQL敘述句中可利用如上的方法在Params建立變數﹐而其順序就是Params[0]..Params[1]..Params[2]..以此類推﹐以上SQL敘述句中利用BDE資料集元件建立了兩個變數﹐所以對應的Params變數順序即是﹕
DateTemp1 = Params[0]
DateTemp2 = Params[1]
然后在資料集元件Open之前﹐先賦值給Params[0]和Params[1]變數﹒ =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |