delphi中如何把sql中变量的值赋给全局变量

王朝知道·作者佚名  2012-09-23
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
參考答案:

这段SQL是什么?触发器吗?结构看上去好诡异啊

虽然通过你的解释我大概明白是怎么回事了 ,但是这段SQL。。。说实在话 我真不懂,可以麻烦你把部分代码放上来不?

用两个DBGRID简单的实现了你的要求

procedure TForm1.Button1Click(Sender: TObject);

Var SumResult:double;//计算总的金额

Temp:double;//获取当前记录的金额

TempID:Integer;//获取当前记录ID

TempDate:TDate;//获取当前记录日期

i:Integer;

begin

AdoQuery1.Open;

AdoQuery1.First;

AdoQuery2.Close;

AdoQuery2.SQL.Clear;

AdoQuery2.SQL.Add('Delete * from collectResult');

AdoQuery2.ExecSQL;

AdoQuery2.SQL.Clear;

AdoQuery2.SQL.Add('Select * from collectResult');

AdoQuery2.Open;

AdoQuery2.First;

with AdoQuery2 do

begin

SumResult:=0;

DbGrid1.DataSource.DataSet.First;

TempID:= DbGrid1.Fields[0].Value;

for i:= 0 to AdoQuery1.RecordCount -1 do

begin

TempDate:=DbGrid1.Fields[2].AsDateTime;

Temp:=DbGrid1.Fields[1].AsFloat;

if TempDate < StrToDate('2007-1-1') then

begin

SumResult:=Temp+SumResult;

end

else

begin

SumResult:=Temp*0.6+SumResult;

end;

if TempID = DbGrid1.Fields[0].Value then

begin

Edit;

FieldByName('SumResult').Value := SumResult;

FieldByName('Id').Value:= TempID;

end

else

begin

SumResult:= Temp;

TempID:=DbGrid1.Fields[0].Value;

Insert;

FieldByName('SumResult').Value := SumResult;

FieldByName('Id').Value:= TempID;

end;

Post;

DbGrid1.DataSource.DataSet.Next;

end;

end;

end;

呵呵 才学 程序写的很难看 而且也不知道你要做的是什么 只是做了个你要的操作

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航