Q&A

  • select문 사용시 에러-무조건 첫번째 레코드의 내용이 찍힙니다.
edit1에 무조건 첫번째 레코드의 내용이 찍힙니다.



에러좀 잡아 주세요.





with datamodule1.temp do

begin

close;

SQL.Clear ;

SQL.Add('select * from post where BALSINKOOK= :BALSINKOOK and WCODE= :WCODE');

ParamByName('BALSINKOOK').Asstring := dblookupcombobox1.Text ;

ParamByName('WCODE').Asstring := panel11.caption ;



edit1.text :=inttostr(datamodule1.post.fieldbyname('KN010101').Asinteger) ;

Open ;

end ;

3  COMMENTS
  • Profile
    류종택 2001.04.14 01:06
    코드 내용으로 보면 Edit1에 찍혀야할 레코드가 변경될 수 있는 근거가 없습니다.

    오픈은 datamodule1.temp를하고

    Edit1에는 datamodule1.post에서 읽어서 넣어주는데다가

    datamodule1.temp을 오픈하기 전에 입력하니 로직대로라면 다른 레코드가 나올

    근거가 전혀없지요.





    꿈꾸는 바보 류..



    초보자 wrote:

    > edit1에 무조건 첫번째 레코드의 내용이 찍힙니다.

    >

    > 에러좀 잡아 주세요.

    >

    >

    > with datamodule1.temp do

    > begin

    > close;

    > SQL.Clear ;

    > SQL.Add('select * from post where BALSINKOOK= :BALSINKOOK and WCODE= :WCODE');

    > ParamByName('BALSINKOOK').Asstring := dblookupcombobox1.Text ;

    > ParamByName('WCODE').Asstring := panel11.caption ;

    >

    > edit1.text :=inttostr(datamodule1.post.fieldbyname('KN010101').Asinteger) ;

    > Open ;

    > end ;

  • Profile
    송종석 2001.04.14 01:09
    Edit1에 Query 결과 값을 넣고 싶으신 건가요?(결과 값이 여러 개일경우 처음 것)

    마지막 세 줄을 다음과 같이 바꿔보세요.



    Open ;

    Edit1.Text:= IntToStr(DataModule1.Temp.FieldByName('KN010101').AsInteger) ;

    end ;



    초보자 wrote:

    > edit1에 무조건 첫번째 레코드의 내용이 찍힙니다.

    >

    > 에러좀 잡아 주세요.

    >

    >

    > with datamodule1.temp do

    > begin

    > close;

    > SQL.Clear ;

    > SQL.Add('select * from post where BALSINKOOK= :BALSINKOOK and WCODE= :WCODE');

    > ParamByName('BALSINKOOK').Asstring := dblookupcombobox1.Text ;

    > ParamByName('WCODE').Asstring := panel11.caption ;

    >

    > edit1.text :=inttostr(datamodule1.post.fieldbyname('KN010101').Asinteger) ;

    > Open ;

    > end ;

  • Profile
    초보자 2001.04.14 02:24


    가르쳐주신 방법대로 했는데도 안되네요...

    이것 때문에 계속 고민중입니다.

    제가 할수 있는 방법은 다 해봤는데 잘 안되네요..

    아무래도 query문의 where절 때문인거 같은데....

    update문은 잘 되던데....



    송종석 wrote:

    > Edit1에 Query 결과 값을 넣고 싶으신 건가요?(결과 값이 여러 개일경우 처음 것)

    > 마지막 세 줄을 다음과 같이 바꿔보세요.

    >

    > Open ;

    > Edit1.Text:= IntToStr(DataModule1.Temp.FieldByName('KN010101').AsInteger) ;

    > end ;

    >

    > 초보자 wrote:

    > > edit1에 무조건 첫번째 레코드의 내용이 찍힙니다.

    > >

    > > 에러좀 잡아 주세요.

    > >

    > >

    > > with datamodule1.temp do

    > > begin

    > > close;

    > > SQL.Clear ;

    > > SQL.Add('select * from post where BALSINKOOK= :BALSINKOOK and WCODE= :WCODE');

    > > ParamByName('BALSINKOOK').Asstring := dblookupcombobox1.Text ;

    > > ParamByName('WCODE').Asstring := panel11.caption ;

    > >

    > > edit1.text :=inttostr(datamodule1.post.fieldbyname('KN010101').Asinteger) ;

    > > Open ;

    > > end ;