Q&A

  • Query 결과값의 필드지정하는방법
//델파이 초보자 입니다.

근데 자꾸 에러가 나는데 잘 모르겠어요..

아래 Query3 을 실행시킨뒤 그결과값(코드, 코드명)을 UPDATE 하려하는데.. 자꾸 에러가 납니다.



sql.add('Query3.fields[0].asstring = :r1 ,');

sql.add('Query3.fields[1].asstring = :r2 ');



Query3결과의 두번째 필드를 표현할때 어떻게 표현하나요?







procedure Tcode_mng.save_btnClick(Sender: TObject);

var

rc :integer;

ok_btn :integer;

begin

rc := 0;

add_btn.Enabled := true;

cancel_btn.Enabled := False;



if edit1.text = '' then

begin

ok_btn := Application.MessageBox('코드를 반드시 입력해 주십시오.','알림',

MB_OK+MB_ICONINFORMATION);

if ok_btn = IDOK then

edit1.SetFocus ;

end

else

with Query3 do

begin

close;

sql.clear;

// 참고로 '+param_tbl +' 은 조건에 따라 코드값과 테이블이 틀리다..

sql.add('SELECT * FROM '+ param_tbl +' WHERE '+ param_tbl + ' LIKE :fine_code ');

parambyname('fine_code').AsString := edit1.text;

open;

rc := recordcount ;

end;



if rc = 0 then //데이타가 업으면 저장

begin

save_rtn;

end

else // 데이타가 있으니까 UPDATE

if Query3.fields[1].asstring = '' then

begin

ShowMessage('이미 코드가 존재합니다.');

end

else

with Query5 do

begin

close;

sql.clear;

sql.add('UPDATE '+param_tbl+' SET ');

* sql.add('Query3.fields[0].asstring = :r1 ,');

* sql.add('Query3.fields[1].asstring = :r2 ');

parambyname('r1').Asstring := edit1.text;

parambyname('r2').Asstring := edit2.text;

ExecSQL;

ShowMessage('데이타가 수정되었습니다..');

end;



end;



1  COMMENTS
  • Profile
    박용일 2000.03.17 00:19
    최은정 wrote:

    > //델파이 초보자 입니다.

    > 근데 자꾸 에러가 나는데 잘 모르겠어요..

    > 아래 Query3 을 실행시킨뒤 그결과값(코드, 코드명)을 UPDATE 하려하는데.. 자꾸 에러가 납니다.

    >

    > sql.add('Query3.fields[0].asstring = :r1 ,');

    > sql.add('Query3.fields[1].asstring = :r2 ');

    >

    > Query3결과의 두번째 필드를 표현할때 어떻게 표현하나요?

    >

    >

    최은정님 저도 위와 같은경우가 있었는데..

    sql 문장에서 문자열은 '로 둘러싸여져 있어야 해요

    1) sql.add('query3.fields[0].asstring = '':r1'', ') ;

    2) sql.add('query3.fields[0].asstring = '':r2''' ) ;



    1)과2)에서 ''는 '를 포함시키기 위한것이고

    2)에서 '''는 앞의 ''는 '을 표시하기위해서이고 세번째'는 sql.add('에 대한값입니다