Q&A

  • DB 데이타를 Edit 에서 보는 법


안녕하세요 델파이 병아리 사용자입니다.

먼저 항상 도움 주시는 고수님들께 감사드림니다.



저는 장비이력카드를 작성하고 있는데요.. 프로그램을 카드 포멧에 맞출려다 보니

이것이 필요하네요.



사용 DataBase : 파라독스 DB

DB 필드명에 관리번호, 장비명, Serial No., 제작사, 등등이 있읍니다.

edit에 관리번호를 입력하고 버턴을 누르면 그에 해당하는 장비명이나 Serial No.등

항목 각각을 edit 창에 나타 낼 수 있는 방법이 있을까요?

edit 하나에 하나의 필드데이타가 나와야만 합니다.

관리번호를 제외한 필드수 만큼 edit가 있어야 겠지요..

우찌하는지 고수님들의 가르침을 기다리겠나이다.



저는 아직 초보라 어떻게 하라고 하시면 잘 모름니다. 소스 및 자세한 설명을

부탁 드립니다.



"도움 받는 시절을 지나 도움을 줄 날을 그리며..."

1  COMMENTS
  • Profile
    아이언 2000.10.16 17:31
    전 아래와 같이 프로시져를 작성하여.. 쓰고 있습니다.

    물론.. 직접

    TEDIT1.Text := Table1.FieldbyName('필드명').AsString;

    하시는게 빠르겠지만요..

    귀찮잖아요..



    대신에 아래와 같이 하시려면..

    아시겠지만.. 필드명과 Componet이름이 동일해야 하겠지요...



    무식한..초보가.. 용기를 내서..

    몇자 적었습당..



    procedure Db2Edit(fm_In:Tfm_UserIn; Table1 : TTable);

    Var i : Integer;

    str,data : string;

    ComPo : TComponent;

    begin

    For i := 0 to Table1.FieldCount - 1 do

    begin

    str := Table1.Fields[i].FieldName;

    Compo := TForm1.FindComponent(str);//필드이름과 동일한 Componenet찾기.

    IF ComPo <> Nil then //Component가 있으면.. 구문 수행..

    begin

    With TForm1 do

    begin

    if (ComPo is TEdit) then //찾은 Component가 TEdit이면..

    ComPo As TEdit).Text := Table1.FieldByName(str).AsString

    else if (ComPo is TComboBox) then //찾은 Component가 TComboBox이면

    (ComPo As TComboBox).Text := Table1.FieldByName(str).AsString;

    end;

    end;

    end;

    end;