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

TADOQUERY SELECT 語法問題!

缺席
guochen
一般會員


發表:3
回覆:5
積分:1
註冊:2002-05-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-22 16:51:04 IP:203.247.xxx.xxx 訂閱
已經爬過文了,似乎沒有人遇到這種問題.
程式碼如下:
With ADOQuery1 DO
begin
Close;
SQL.Clear;
SQL.Add('SELECT B.WC_USER ,A.AR_WARHS_CREATE_NO ' );
SQL.Add(' FROM TB_IEM120 A,TB_IEM128 B ' );
SQL.Add('WHERE A.AR_WARHS_CREATE_NO = B.AR_WARHS_CREATE_NO( )');
SQL.Add('AND A.PROD_WC_CD = B.WC_CD ');
SQL.Add('AND B.WC_CD=:WC_CD1 ');
SQL.Add('AND A.PROD_DATE=:PROD_DATE1');
SQL.Add('GROUP BY B.WC_USER,A.AR_WARHS_CREATE_NO ') ;
Parameters.ParamByName('WC_CD1').Value:='TS01';
Parameters.ParamByName('PROD_DATE1').Value:=MaskEdit1.Text;

OPEN;
end ;

執行後,出現 ORA-00979 :不是一個GROUP BY 表示式.的錯誤訊息!
不曉得哪段語法出問題!
bc
一般會員


發表:1
回覆:6
積分:1
註冊:2004-08-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-22 17:08:23 IP:203.66.xxx.xxx 訂閱
你好, 在select 中又沒有用集合函數 後面加上
SQL.Add('GROUP BY B.WC_USER,A.AR_WARHS_CREATE_NO ') ;

它 當然會這樣告訴你

===================引 用 guochen 文 章===================
已經爬過文了,似乎沒有人遇到這種問題.
程式碼如下:
With ADOQuery1 DO
begin
Close;
SQL.Clear;
SQL.Add('SELECT B.WC_USER ,A.AR_WARHS_CREATE_NO ' );
SQL.Add(' FROM TB_IEM120 A,TB_IEM128 B ' );
SQL.Add('WHERE A.AR_WARHS_CREATE_NO = B.AR_WARHS_CREATE_NO( )');
SQL.Add('AND A.PROD_WC_CD = B.WC_CD ');
SQL.Add('AND B.WC_CD=:WC_CD1 ');
SQL.Add('AND A.PROD_DATE=:PROD_DATE1');
SQL.Add('GROUP BY B.WC_USER,A.AR_WARHS_CREATE_NO ') ;
Parameters.ParamByName('WC_CD1').Value:='TS01';
Parameters.ParamByName('PROD_DATE1').Value:=MaskEdit1.Text;

OPEN;
end ;

執行後,出現 ORA-00979 :不是一個GROUP BY 表示式.的錯誤訊息!
不曉得哪段語法出問題!
guochen
一般會員


發表:3
回覆:5
積分:1
註冊:2002-05-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-22 17:22:10 IP:203.247.xxx.xxx 訂閱
有加..還是會出現! 
With ADOQuery1 DO
begin
Close;
SQL.Clear;
SQL.Add('SELECT B.WC_USER ,A.AR_WARHS_CREATE_NO,SUM(NVL(B.NORMAL_QTY,0)) AS NQTY ' );
SQL.Add(' FROM TB_IEM120 A,TB_IEM128 B ' );
SQL.Add('WHERE A.AR_WARHS_CREATE_NO = B.AR_WARHS_CREATE_NO( )');
SQL.Add('AND A.PROD_WC_CD = B.WC_CD ');
SQL.Add('AND B.WC_CD=:WC_CD1 ');
SQL.Add('AND A.PROD_DATE=:PROD_DATE1');
SQL.Add('GROUP BY B.WC_USER,A.AR_WARHS_CREATE_NO ') ;
Parameters.ParamByName('WC_CD1').Value:='TS01';
Parameters.ParamByName('PROD_DATE1').Value:=Form3.MaskEdit1.Text;
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-11-22 17:33:32 IP:61.67.xxx.xxx 未訂閱
是一樣的錯誤訊息嗎? 有點懷疑, 請你單純用sum() as 來做做看
===================引 用 guochen 文 章===================
有加..還是會出現!
...略....
SQL.Add('SELECT B.WC_USER ,A.AR_WARHS_CREATE_NO,SUM(NVL(B.NORMAL_QTY,0)) AS NQTY ' );
...略...
guochen
一般會員


發表:3
回覆:5
積分:1
註冊:2002-05-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-11-22 17:40:32 IP:203.247.xxx.xxx 訂閱
錯誤訊息一樣!
此段程式是寫在procedure TForm1.Button1Click(Sender: TObject); 下...
執行時,按第一次會出現此錯誤訊息...,按下錯誤訊息視窗的確認Button後,再按一次...錯誤訊息沒有出現..資料就顯示出來了?
為什麼?



===================引 用 P.D. 文 章===================
是一樣的錯誤訊息嗎? 有點懷疑, 請你單純用sum() as 來做做看
===================引 用 guochen 文 章===================
有加..還是會出現!
...略....
SQL.Add('SELECT B.WC_USER ,A.AR_WARHS_CREATE_NO,SUM(NVL(B.NORMAL_QTY,0)) AS NQTY ' );
...略...
guochen
一般會員


發表:3
回覆:5
積分:1
註冊:2002-05-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-11-23 09:11:15 IP:203.247.xxx.xxx 訂閱
Project砍掉...重練後,居然沒有這個問題了...
還是感謝大家回覆!
系統時間:2024-05-07 5:25:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!