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

关于SQL语句

答題得分者是:cashxin2002
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-02 18:20:38 IP:222.184.xxx.xxx 未訂閱
procedure Tprintform.FormShow(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from tb_sf where 票据号= i '); ADOQuery1.Parameters.ParamByName('i').Value := sfform.Label3.Caption; ADOQuery1.Open ; ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add('select * from tb_sf where 票据号= i '); ADOQuery2.SQL.Add('应收金额<>0'); ADOQuery2.Parameters.ParamByName('i').Value := sfform.Label3.Caption; ADOQuery2.Open ; end; 错误之处,运行时(就是在printform show前)提示找不到什么QUERY2中的参数i, 我不明白为什么QUERY1中的i能找到的。 我想要的功能是一个QUERY查询出所有票据号等于LABEL3.caption的,另一个query查询出不仅票据号等于LABEL3.caption,而且记录中的应收金额不等于0 然后分别在打印时赋给不同的打印字段。
------
我的编程起步于ktop,我将永远支持ktop
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-02 18:30:13 IP:61.70.xxx.xxx 未訂閱
您好: 幫您改一下: procedure Tprintform.FormShow(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from tb_sf where 票据号=''' sfform.Label3.Caption ''''); ADOQuery1.Open ; ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add('select * from tb_sf where 票据号=''' sfform.Label3.Caption ''''); ADOQuery2.SQL.Add('应收金额<>0'); ADOQuery2.Open ; end; 發表人 - supman 於 2005/06/02 18:34:24
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-02 18:37:27 IP:222.184.xxx.xxx 未訂閱
我试一下,没成功,说数据类型不配,我的数据库中字段为长整型的。 發表人 - ntjrr 於 2005/06/02 18:39:39 發表人 - ntjrr 於 2005/06/02 18:44:25
------
我的编程起步于ktop,我将永远支持ktop
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-02 18:40:04 IP:202.62.xxx.xxx 未訂閱
您好﹗    在ADOQuery2的查詢中少了一個and﹐如下﹕
procedure Tprintform.FormShow(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select * from tb_sf where 票据号= i ');
  ADOQuery1.Parameters.ParamByName('i').Value := sfform.Label3.Caption;
  ADOQuery1.Open ;
  ADOQuery2.Close;
  ADOQuery2.SQL.Clear;
  ADOQuery2.SQL.Add('select * from tb_sf where 票据号= i ');
  ADOQuery2.SQL.Add('and 应收金额<>0');
  ADOQuery2.Parameters.ParamByName('i').Value := sfform.Label3.Caption;
  ADOQuery2.Open ;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-02 18:50:48 IP:61.70.xxx.xxx 未訂閱
您好: 抱歉,因為不曉得您的型態是什麼,在試試以下 procedure Tprintform.FormShow(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from tb_sf where 票据号=' sfform.Label3.Caption); ADOQuery1.Open ; ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add('select * from tb_sf where 票据号=' sfform.Label3.Caption); ADOQuery2.SQL.Add('and 应收金额<>0'); ADOQuery2.Open ; end; 發表人 - supman 於 2005/06/02 18:51:41
系統時間:2024-07-05 21:57:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!