Q&A

  • 디비의 필드내용을 ListBox에 넣는건데요...
DB는 DBase fo Window를 사용하고요...

디비의 mname이라는 필드에 내용을 ListBox에 넣는데요...

리스트박스의 출력내용중에 같은 이름이 존재하면 하나의 이름만 출력되게 하려고 하는데요...

방법을 몰라서요....

예를 들어, computer라는 이름이 두개가 존재하면, 하나만 출력이 되게....

방법 좀 가르쳐주세요... 델피 초보라서 코딩도 필요합니다...

그럼.. 행복하세요....



P.S: 쫌 급한건데요... 빠른 대답이면.. 더욱 고맙겠습니다...

4  COMMENTS
  • Profile
    신호성 1999.05.01 17:34
    김성희 wrote:

    > DB는 DBase fo Window를 사용하고요...

    > 디비의 mname이라는 필드에 내용을 ListBox에 넣는데요...

    > 리스트박스의 출력내용중에 같은 이름이 존재하면 하나의 이름만 출력되게 하려고 하는데요...

    > 방법을 몰라서요....

    > 예를 들어, computer라는 이름이 두개가 존재하면, 하나만 출력이 되게....

    > 방법 좀 가르쳐주세요... 델피 초보라서 코딩도 필요합니다...

    > 그럼.. 행복하세요....

    >

    > P.S: 쫌 급한건데요... 빠른 대답이면.. 더욱 고맙겠습니다...







    안녕하세요?

    신호성 입니다.



    Table의 특정 Column을 ListBox에 넣고싶은 거죠?

    Column값의 중복을 배제하는 것은 자료를 Select하는 과정에서 처리하는

    방법이 효율적일것이라고 생각합니다.



    아래와 같은 Sql문장을 Query 컴포넌트에 설정한 뒤



    SELECT DISTINCT MNAME FROM TABLENAME

    WHERE MNAME IS NOT NULL

    또는

    SELECT MNAME FROM TABLENAME

    WHERE MNAME IS NOT NULL

    GROUP BY MNAME





    아래와 같이 코딩합니다.



    ListBox.Items.Clear;

    Query.First;



    While not Query.EOF do

    begin

    ListBox.Items.Add(Query.FieldByName('MNAME').AsString);

    Query.Next;

    end;























  • Profile
    김성희 1999.05.02 08:54
    > 안녕하세요?

    > 신호성 입니다.

    >

    > Table의 특정 Column을 ListBox에 넣고싶은 거죠?

    > Column값의 중복을 배제하는 것은 자료를 Select하는 과정에서 처리하는

    > 방법이 효율적일것이라고 생각합니다.

    >

    > 아래와 같은 Sql문장을 Query 컴포넌트에 설정한 뒤

    >

    > SELECT DISTINCT MNAME FROM TABLENAME

    > WHERE MNAME IS NOT NULL

    > 또는

    > SELECT MNAME FROM TABLENAME

    > WHERE MNAME IS NOT NULL

    > GROUP BY MNAME

    >

    >

    > 아래와 같이 코딩합니다.

    >

    > ListBox.Items.Clear;

    > Query.First;

    >

    > While not Query.EOF do

    > begin

    > ListBox.Items.Add(Query.FieldByName('MNAME').AsString);

    > Query.Next;

    > end;

    >

    >

    >

    >

    답변 잘 보았습니다.

    쿼리사용하지않고... 테이블로만할수 없나요?

    제컴이 이상한건지(컴 사양이 좋지가 않거든요~)..

    아님 델피가 정품이 아니라서인지...

    세번을 다시 깔아봤지만... 쿼리를 다룰수 있는 부분이 깔리질 않아서요~

    쿼리가 사용하기 편하다는것은 알지만... 어쩔수 없이...

    부득이... 테이블로만 요리를 해야될것 같은데요...

    지금까지... 그렇게 해왔고요~

    앞으로 사정이 나아지면.. 이 골동품컴을 쳐분을 하긴해야겠지만요...

    지금은 그냥. 울며겨자먹기식으로 써야하니까.....

    그러니까...

    그래서...

    테이블로만 해결할수 있는 방법은 없을까요?

    전 그 방법이 가장 절실하거든요~

    꼭! 답변 부탁드립니다...

  • Profile
    신호성 1999.05.03 09:31
    > 답변 잘 보았습니다.

    > 쿼리사용하지않고... 테이블로만할수 없나요?

    > 제컴이 이상한건지(컴 사양이 좋지가 않거든요~)..

    > 아님 델피가 정품이 아니라서인지...

    > 세번을 다시 깔아봤지만... 쿼리를 다룰수 있는 부분이 깔리질 않아서요~

    > 쿼리가 사용하기 편하다는것은 알지만... 어쩔수 없이...

    > 부득이... 테이블로만 요리를 해야될것 같은데요...

    > 지금까지... 그렇게 해왔고요~

    > 앞으로 사정이 나아지면.. 이 골동품컴을 쳐분을 하긴해야겠지만요...

    > 지금은 그냥. 울며겨자먹기식으로 써야하니까.....

    > 그러니까...

    > 그래서...

    > 테이블로만 해결할수 있는 방법은 없을까요?

    > 전 그 방법이 가장 절실하거든요~

    > 꼭! 답변 부탁드립니다...





    먼저 Query를 사용할 수 없다니 유감이군요.

    Table을 사용하는 경우 자료의 중복배제가 문제가 되는데요.

    제가 Table을 사용하지 않아서 잘 모르는 것인지는 모르지만 아마도 임의컬럼을

    중복배제 하는것은 불가능 할 것 같군요.

    결론은 프로그램에서 코딩으로 해결해야 하구요.



    ListBox에서 중복없이 값을 추가하는 메소드가 있을까 하여 찾아 보았더는 역시 없더군요.

    그래서 활용할 만한 메소드를 찾다가 항목의 값으로 Index값을 Return하는 메소드를 찾았습니다.

    단 ListBox에 넣을 자료수가 몇건인지 속도는 관계가 없는지 모르겠네요.



    아래와 같이 코딩해 보시죠.



    Table1, ListBox1 컴포넌트를 사용했다고 가정하고 Table1컴포넌트는 DataBaseName,TableName이 설정되고 Open된 상태라고 가정합니다.





    ListBox1.Items.Clear;

    Table1.First;



    While not Table1.EOF do

    begin

    if ListBox1.Items.Indexof(Table1.FieldByName('MNAME').AsString)=-1 then

    ListBox1.Items.Add(Table1.FieldByName('MNAME').AsString);

    Table1.Next;

    end;





    자료가 무겁지 않다면 견딜만한 속도일것 같군요.





    김성희님 께서 Query 쓸날을 기대하며...............













  • Profile
    김성희 1999.05.03 22:17


    제 질문에 답변 해주신점 감사드립니다.



    그럼, 행복하세요...

    • 우지훈
    • 1999.05.04 00:30
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 류재성
      1999.07.15 05:43
      안녕하세요... 저는 DELPHI를 처음 공부하는 학생입니다. DELPHI 4를 설치하고, 간단한 프로그램을 작성...
    • 신인재
      1999.05.04 06:32
      음냐...글쎄요....해보질 않아서 정확히 답변을 드릴 수는 없네요...(일딴 죄송) 한가지 확실한 것은 BD...
    • 김상영
      1999.07.15 10:34
      류재성 께서 말씀하시기를... > 안녕하세요... > 저는 DELPHI를 처음 공부하는 학생입니다. > DELPHI 4...
    • 박혁
    • 1999.07.15 05:10
    • 0 COMMENTS
    • /
    • 0 LIKES
    • rain
      1999.05.04 05:26
      김유호 wrote: > 디베이스 파이일로 윈 98에서 작업한 프로그램을 공유하여 사용하여보고 있는데 랜으로 ...
    • 김종환
    • 1999.07.15 05:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.07.15 06:12
      음냐 전역적으로 사용을 하시려면 delphi.co.kr의 팁모아에 안치봉님이 올리신 전역적 핫키 선언하는 법...
    • 정인철
    • 1999.05.03 23:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.04 02:19
      StringGrid의 OnKeyDown이벤트에서 Key := 0; 로 해버리시면 키가 다 무시됩니다. 단 Key := 0로 해주...
    • 김영대
      1999.07.15 03:27
      안류진 께서 말씀하시기를... > 주신 소스를 테스트 할 수가 없군요 > Help File을 아무리 보아도 UNIT에...
    • 전철호
      1999.07.15 02:40
      오세웅 께서 말씀하시기를... > 안녕하세요 > 마스크 에디터에 숫자만 입력되도록 하고싶은데요 > 마스...
    • 김성희
    • 1999.05.01 08:52
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 신호성
      1999.05.01 17:34
      김성희 wrote: > DB는 DBase fo Window를 사용하고요... > 디비의 mname이라는 필드에 내용을 ListBox에 ...
    • 김성희
      1999.05.02 08:54
      > 안녕하세요? > 신호성 입니다. > > Table의 특정 Column을 ListBox에 넣고싶은 거죠? > Column값의 ...
    • 신호성
      1999.05.03 09:31
      > 답변 잘 보았습니다. > 쿼리사용하지않고... 테이블로만할수 없나요? > 제컴이 이상한건지(컴 사양이 ...
    • 김성희
      1999.05.03 22:17
      제 질문에 답변 해주신점 감사드립니다. 그럼, 행복하세요...
    • 안명호
    • 1999.05.03 19:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.05.04 03:08
      안명호 wrote: > 델파이 IDE의 에디터 창의 왼쪽에 생기던 > 거터가 언제부턴가 생기지 않아요.. > 예전...
    • 최선기
    • 1999.07.15 00:24
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 송기원
      1999.07.15 00:32
      var vcode : string; begin with Query1 do Begin close; sql.Clear; sql.a...
    • 최선기
      1999.07.15 01:22
      송기원 께서 말씀하시기를... > var > vcode : string; > begin > with Query1 do Begin > ...
    • 조복기
      1999.07.15 02:12
      안녕하세요..조복기입니다. 요즘에 파라미터 사용에 관해 질문이 상당히 많네요.. 분명 Q&A란을 자세...
    • 배재민
    • 1999.05.03 19:00
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 배재민
      1999.05.03 19:06
      죄송합니다. 이런 하찮은 질문을 드린 점 죄송하게 생각합니다. stringDate := FormatDateTime('yyyy...
    • 송기원
      1999.07.15 00:33
      Database를 어떤것을 사용하시는지 모르겠는데... Table상에서 이진파일을 저장할 field의 Type을 .. I...
    • 김영대
      1999.07.15 02:01
      안류진 께서 말씀하시기를... > GetMoudleHandle을 이용하여 16비트에서는 검색을 하였는데 > 32비트에서...
    • 배재민
    • 1999.05.03 19:00
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 배재민
      1999.05.03 19:06
      죄송합니다. 이런 하찮은 질문을 드린 점 죄송하게 생각합니다. stringDate := FormatDateTime('yyyy...
    • 박회연
    • 1999.05.03 18:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • rain
      1999.05.04 05:21
      박회연 wrote: > BDE/ODBC 에 대한 ..... > > Borland Delphi Engin 이 무엇을 하고 어떻게 활용을 해...
    • 심경섭
    • 1999.07.14 23:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 송기원
      1999.07.15 00:23
      Tdatabase -> Tquery, Ttable -> TdataSource -> Data Award component -> user 위와 같은 계층적이 구조...