Q&A

  • Tstringlist에서 AddObject문제...
  combo_Tm1  : TStringList;  --> 유닛 지역변수 선언

함수 _______
var Str : String;
var Str1 : Pchar;
begin

  with TQuery do begin
       close;
       sql.clear;
       sql.add('select  명칭,표준코드  from 표준코드등록 ');
       sql.add(' where  순번=:순번 ');
       parambyname('순번').AsString := '02';
       open;

       if recordcount <> 0 then begin
          first;
          combo_Tm1 := TStringList.create;
          while not Eof do
          begin
             str := fieldbyname('명칭').Asstring;
             str1 := Pchar(fieldbyname('표준코드').Asstring);
             combo_Tm1.AddObject(str, TObject(str1));
             next;
          end;
          e03.Items := combo_Tm1;  {e03 : TcomboBox}
       end;
    end;

procedure Tsepq0010Form.Button1Click(Sender: TObject);
var name1 : integer;
begin
  label3.Caption := string(e03.Items.Objects[e03.ItemIndex]);
end;

입력값
   명칭           표준코드
  대한민국       1000
  독일             2000
  프랑스          3000
  영국             4000

이렇게 하면 Label3에 엉뚱한 값이 찍히는데.. 왜 그렇죠..?
뭔가 잘못 한것이 있나요..?
변수str값이 나오기두 하구.. 이상한 특수 문자가 나오기두 하구...
고수님들 ... 부탁좀 드릴께요...ㅜ.ㅜ
1  COMMENTS
  • Profile
    박서규 2003.07.09 23:48

    흠.... 괴로운일을 당하셨구낭,,,,,

    실제 sql이라는것이 add하면 더해져서 보내져야하는데,,,,

    고게,,, 실제 잘 안될겁니다...

    한방에 하세여..  add를 한번만 하시라는거져..

    확인하실려면....  slq server사용자라면... 프로파일러인가여..

    그거로 확인해보세여.. 실제 쿼리를 날리는지 확인해보시면...

    알겁니다.. 만약 그게 아니라면... 음.. 그건 그때 문제구요..

    하지만 add를 한번만 해서 하시면 될거예여...