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:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.04 02:14
      팩스를 보내시려면 팩스를 지원하는 컴포넌트를 사용하셔야 합니다. 공개된것은 없습니다... 상용을 사셔...
    • 우지훈
    • 1999.05.04 00:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.05.04 06:32
      음냐...글쎄요....해보질 않아서 정확히 답변을 드릴 수는 없네요...(일딴 죄송) 한가지 확실한 것은 BD...
    • rain
      1999.05.04 05:26
      김유호 wrote: > 디베이스 파이일로 윈 98에서 작업한 프로그램을 공유하여 사용하여보고 있는데 랜으로 ...
    • 정인철
    • 1999.05.03 23:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.04 02:19
      StringGrid의 OnKeyDown이벤트에서 Key := 0; 로 해버리시면 키가 다 무시됩니다. 단 Key := 0로 해주...
    • 안명호
    • 1999.05.03 19:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.05.04 03:08
      안명호 wrote: > 델파이 IDE의 에디터 창의 왼쪽에 생기던 > 거터가 언제부턴가 생기지 않아요.. > 예전...
    • 배재민
    • 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.05.03 10:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.05.03 18:14
      김도완 wrote: > 안녕하세요? > 프린터에 대해서 궁금한게 있어서 질문을 드림니다. > 프린터 출력할때 ...
    • 안명호
    • 1999.05.02 23:09
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.03 03:39
      먼저 WinSight라는 델파이에 포함된 유틸을 사용할 줄 아시면 도움이 될것입니다. 먼저 도스창을 FindWi...
    • 안명호
      1999.05.03 07:08
      감사합니다. 이정욱님! 많은 도움이 될것 같군요... 한가지 궁금한게 더 있습니다. 이정욱님 말씀데로 W...
    • 방기남
    • 1999.05.02 21:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.04 06:46
      삼각형Press에서 나온 Delphi Client/Server Developers Guide를 추천합니다. 저도 이것을 보면서 개념을 ...
    • 안치봉
      1999.05.03 18:08
      왕초보 wrote: > DLL에서 Main application의 Ttreeview componet의 하위노드를 생성하고 > 싶습니다.......
    • 구상도
    • 1999.05.01 20:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.01 20:56
      MediaPlayer의 AutoOpen을 프로퍼티 인스펙터에서(디자인시) False로 주세요. 그리고 이렇게 해보세요. ...
    • 김성희
    • 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.01 08:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.05.01 17:51
      박진아 wrote: > 어느 곳이 잘못되었는지 모르겠네요. > 소스 올려요. > procedure TForm2.FormActivate...
    • 박은희
    • 1999.05.01 05:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신호성
      1999.05.01 17:41
      박은희 wrote: > 인덱스가 없는 테이블을 정렬할 수 있는 방법이 없나요..... > > 저는 파라독스db 를 ...
    • 태진환
    • 1999.05.01 04:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신호성
      1999.05.01 17:39
      태진환 wrote: > 안녕하세요.. > 델파이를 접한지 일주일되는 초보입니다. > > 제가 지금 해보구 싶은...