adoquery参数问题(语法错误 (操作符丢失) 在查询表达式) |
答題得分者是:st33chen
|
daybreak
一般會員 發表:14 回覆:15 積分:5 註冊:2003-11-05 發送簡訊給我 |
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 發送簡訊給我 |
您好,
單從語句來看 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 發送簡訊給我 |
我做的两个表的内连接.
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 發送簡訊給我 |
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 (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |