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

adoquery参数问题(语法错误 (操作符丢失) 在查询表达式)

答題得分者是:st33chen
daybreak
一般會員


發表:14
回覆:15
積分:5
註冊:2003-11-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-11-23 17:13:18 IP:222.134.xxx.xxx 訂閱
  strsql:='select chljbb.chlph,sum(chchdjb.shchglsh) as glsh from (chljbb inner join chchdjb on chljbb.chlph=chchdjb.chlph ) '+
' group by chljbb.chlph where chchdjb.chchrq >= :q1';

AdoQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(strsql);
ADOQuery1.Parameters.parambyname('q1').DataType :=ftDate;
ADOQuery1.Parameters.parambyname('q1').Value:=DateTimePicker_fy1.Date;
ADOQuery1.Open;

后台连接的是access数据库,运行时出现如下错误"语法错误 (操作符丢失) 在查询表达式 chljbb.chlph where chchdjb.chchrq >= :q1 ".请各位指点.谢谢.
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-11-23 17:42:25 IP:122.116.xxx.xxx 未訂閱
您好,

單從語句來看
strsql:='select chljbb.chlph,sum(chchdjb.shchglsh) as glsh from (chljbb inner join chchdjb on chljbb.chlph=chchdjb.chlph ) '
' group by chljbb.chlph where chchdjb.chchrq >= :q1';
有兩個問題
1. from 後面 的 ( 及 ) 是多餘的
2. where 語句應該在 group 之, 若要在 group 之後再篩選資料, 要用 having

參考一下



===================引 用 daybreak 文 章===================
strsql:='select chljbb.chlph,sum(chchdjb.shchglsh) as glsh from (chljbb inner join chchdjb on chljbb.chlph=chchdjb.chlph ) '
' group by chljbb.chlph where chchdjb.chchrq >= :q1';

AdoQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(strsql);
ADOQuery1.Parameters.parambyname('q1').DataType :=ftDate;
ADOQuery1.Parameters.parambyname('q1').Value:=DateTimePicker_fy1.Date;
ADOQuery1.Open;

后台连接的是access数据库,运行时出现如下错误"语法错误 (操作符丢失) 在查询表达式 chljbb.chlph where chchdjb.chchrq >= :q1 ".请各位指点.谢谢.
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
編輯記錄
st33chen 重新編輯於 2008-11-23 18:20:21, 註解 無‧
daybreak
一般會員


發表:14
回覆:15
積分:5
註冊:2003-11-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-11-23 18:03:24 IP:222.134.xxx.xxx 訂閱
我做的两个表的内连接.

chchdjb.chchrq不是一个汇总字段,因此不能使用having.
我把
strsql:='select chljbb.chlph,sum(chchdjb.shchglsh) as glsh from (chljbb inner join chchdjb on chljbb.chlph=chchdjb.chlph ) '
' group by chljbb.chlph where chchdjb.chchrq >= :q1';
改为:
strsql:='select chljbb.chlph,sum(chchdjb.shchglsh) as glsh from (chljbb inner join chchdjb on chljbb.chlph=chchdjb.chlph ) '
' group by chljbb.chlph where chchdjb.chchrq >= ' '':q1''';
后提示的错误是:找不到参数"q1",再请高手指点指点吧.



===================引 用 st33chen 文 章===================
您好,

單從語句來看
strsql:='select chljbb.chlph,sum(chchdjb.shchglsh) as glsh from (chljbb inner join chchdjb on chljbb.chlph=chchdjb.chlph ) '
' group by chljbb.chlph where chchdjb.chchrq >= :q1';
有兩個問題
1. from 後面 的 ( 及 ) 是多餘的
2. where 語句應該在 group 之後, 若要在 group 之後再篩選資料, 要用 having

參考一下



===================引 用 daybreak 文 章===================
strsql:='select chljbb.chlph,sum(chchdjb.shchglsh) as glsh from (chljbb inner join chchdjb on chljbb.chlph=chchdjb.chlph ) '
' group by chljbb.chlph where chchdjb.chchrq >= :q1';

AdoQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(strsql);
ADOQuery1.Parameters.parambyname('q1').DataType :=ftDate;
ADOQuery1.Parameters.parambyname('q1').Value:=DateTimePicker_fy1.Date;
ADOQuery1.Open;

后台连接的是access数据库,运行时出现如下错误"语法错误 (操作符丢失) 在查询表达式 chljbb.chlph where chchdjb.chchrq >= :q1 ".请各位指点.谢谢.
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-11-24 08:11:58 IP:122.116.xxx.xxx 未訂閱
strsql:='select chljbb.chlph,sum(chchdjb.shchglsh) as glsh from chljbb inner join chchdjb on chljbb.chlph=chchdjb.chlph '+
' where chchdjb.chchrq >= :q1'
'group by chljbb.chlph';


===================引 用 daybreak 文 章===================
strsql:='select chljbb.chlph,sum(chchdjb.shchglsh) as glsh from (chljbb inner join chchdjb on chljbb.chlph=chchdjb.chlph ) '
' group by chljbb.chlph where chchdjb.chchrq >= :q1';

AdoQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(strsql);
ADOQuery1.Parameters.parambyname('q1').DataType :=ftDate;
ADOQuery1.Parameters.parambyname('q1').Value:=DateTimePicker_fy1.Date;
ADOQuery1.Open;

后台连接的是access数据库,运行时出现如下错误"语法错误 (操作符丢失) 在查询表达式 chljbb.chlph where chchdjb.chchrq >= :q1 ".请各位指点.谢谢.
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
系統時間:2024-05-15 19:26:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!