Q&A

  • 간단히 줄여주세여...
간단히 줄여주세여... 도사님들



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;



이해 되시져 ^..^





1  COMMENTS
  • Profile
    검객 2000.11.08 02:10
    별로 줄일것이 없는데요



    제가 한다면 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;