Q&A

  • DB 와 Combo box 의 연결에 관해 질문...
안녕하십니까...

질문 하나 드려도 될까요?

테이블에 있는 field 의 값을 콤보박스에 넣고 싶습니다.

for 문을 돌리거나 아니면 while 을 돌려서...

**friend_list : 콤보박스

**q_friend : query



procedure TForm1.TabSheet2Show(Sender: TObject);

//var

//i : integer;

begin

friend_list.Items.Clear;

{ <-- for 문...주석처리

for i:=0 to q_friend.RecordCount-1 do

begin

friend_list.Items.Add(q_friend.Fields[1].AsString);

q_friend.Next;

end; } <-- for 문 주석처리 여기까지

q_friend.First;

while q_friend.eof do

begin

friend_list.items.add(q_friend.FieldByName('f_name').asstring);

q_friend.Next

end;

이렇게 하는데 계속 값이 이상하게 row 가 9개 있는데 값이 9번째 값으로 똑같이 콤보에 9번 반복되어서 나옵니다. 각 행값이 그대로 와야 하는데...

제가 뭘 잘못한건지요...

1  COMMENTS
  • Profile
    자유지역 2001.10.08 05:48
    이부분을 이렇게하면 가능할 것 같습니다..

    for문 보다는 while 문이 간단하니까 While 로 하시는게 좋을 것 같구여..

    아래와 같이 해보세염.



    while Not q_friend.eof do // <--- Not이 빠진것 같군여....

    begin

    friend_list.items.add(q_friend.Fields[1].AsString);

    q_friend.Next

    end;



    그럼 수고하세염...







    태균 wrote:

    > 안녕하십니까...

    > 질문 하나 드려도 될까요?

    > 테이블에 있는 field 의 값을 콤보박스에 넣고 싶습니다.

    > for 문을 돌리거나 아니면 while 을 돌려서...

    > **friend_list : 콤보박스

    > **q_friend : query

    >

    > procedure TForm1.TabSheet2Show(Sender: TObject);

    > //var

    > //i : integer;

    > begin

    > friend_list.Items.Clear;

    > { <-- for 문...주석처리

    > for i:=0 to q_friend.RecordCount-1 do

    > begin

    > friend_list.Items.Add(q_friend.Fields[1].AsString);

    > q_friend.Next;

    > end; } <-- for 문 주석처리 여기까지

    > q_friend.First;

    > while q_friend.eof do

    > begin

    > friend_list.items.add(q_friend.FieldByName('f_name').asstring);

    > q_friend.Next

    > end;

    > 이렇게 하는데 계속 값이 이상하게 row 가 9개 있는데 값이 9번째 값으로 똑같이 콤보에 9번 반복되어서 나옵니다. 각 행값이 그대로 와야 하는데...

    > 제가 뭘 잘못한건지요...