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

请问如何用Tadoquery控件进行dbgrid1的栏位加总?不用第3方控件

尚未結案
jtp
初階會員


發表:39
回覆:81
積分:29
註冊:2003-04-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-06 14:50:23 IP:218.18.xxx.xxx 未訂閱
我用的是sqlserver2000,我现在是用这样的方法做的,很慢 procedure tform_aoquery.zcal; var i:integer; amount:integer; begin amount:=0; dbgrid1.DataSource.DataSet.First;; for i:=0 to dbgrid1.DataSource.DataSet.RecordCount-1 do begin amount:=amount dbgrid1.DataSource.DataSet.fieldbyname('aggregate').Value; dbgrid1.DataSource.DataSet.Next; end; label44.Caption:=inttostr(amount); end;
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-06 15:43:44 IP:211.22.xxx.xxx 未訂閱
您好: 直接用SQL語法作不知符不符合你的需求 Select sum(aggregate) From tablename
jtp
初階會員


發表:39
回覆:81
積分:29
註冊:2003-04-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-06 15:51:22 IP:218.18.xxx.xxx 未訂閱
那样不行的
cashxin2002
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-06 18:00:12 IP:63.84.xxx.xxx 未訂閱
您好﹗    單單從您的程式碼來看﹐terrychen兄提議的Select sum(aggregate) From tablename之SQL語法應可滿足您的要求﹐不知您所謂的不行是何原因﹖可否描述得詳細一些﹒
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select Sum(aggregate) From TableName');
  ADOQuery1.Open;
  Label44.Caption := IntToStr(ADOQuery1.Fields.Fields[0].AsInteger);
end;
參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
johnny2212
初階會員


發表:34
回覆:65
積分:39
註冊:2003-04-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-07 00:02:08 IP:61.226.xxx.xxx 未訂閱
我猜你可能修改值,整個總和就要改變,對吧?如果是的話,很簡單,你用ClientDataSet而不要直接使用ADO元件(中間加上DataSetProvider),然後ClientDataSet使用Aggregates即可達成此目標,如此就直接在Client端的記憶體做,速度快上萬倍以上;若你不會用的話,請參考書籍上介紹的AggreGates(我不知大陸哪裡有)
johnny2212
初階會員


發表:34
回覆:65
積分:39
註冊:2003-04-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-07 02:30:23 IP:61.226.xxx.xxx 未訂閱
Delphi範例,Midas(AggreeGate)就有了,你用ADO或BDE是無法做到的,因為它是直接連接到資料庫的;用ClientDataSet的話功能極強,你用習慣了,可將其改成 Multi-Tier,會更理想
系統時間:2024-07-03 14:58:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!