간단히 줄여주세여... 도사님들
var
mname: string;
mtot, mhap : longint;
begin
mtot := 0;
mhap := 0;
with query2 do
begin
close;
sql.clear;
sql.add('select *');
sql.add('from s2 where jno = '''+mjno+''' ');
open;
first;
while not query2.EOF do
begin
mname := query2.fieldbyname('total').asstring;
mtot := mtot + strtoint(mname);
mname := query2.fieldbyname('hapgae').asstring;
mhap := mhap + strtoint(mname);
query2.Next;
end;
end;
이해 되시져 ^..^
제가 한다면 2가지 방법이 있네요.
첫번째 : 소스 자체에서 수정시 - 4군데(//표시) 정도
두번째 : 합계내는 query 수정
[첫번째 source : 소스를 그대로 두고 줄이는 방법]
var
//mhap : String;
mtot, mhap : longint;
begin
mtot := 0;
mhap := 0;
with query2 do
begin
//close; 기본적으로 query를 property에서
close시키면 안해주셔도
sql.clear;
sql.add('select * from s2 where jno = '''+mjno+''' ');
open;
first;
while not query2.EOF do
begin
mtot := mtot + StrToInt(query2.fieldbyname('total').asstring);
//mtot := mtot + strtoint(mname);
mhap := mhap + StrToInt(query2.fieldbyname('hapgae').asstring);
//mhap := mhap + strtoint(mname);
query2.Next;
end;
end;
[두번째 source : 소스를 수정하고 줄이는 방법]
var
mtot,mhap : longint;
begin
with query2 do
begin
close;
sql.clear;
sql.add('select sum(tot) as Total, sum(hap) as 합계 ');
sql.add('from s2 where jno = '''+mjno+''' ');
open;
//
mtot := StrToInt(query2.fields[0].asstring);
mhap := StrToInt(query2.fields[1].asstring);
end;