Q&A

  • StringGrid에는 DB내용 보여줄 수 있습니까?..
꼭 DBGrid 에서가 아니라, StringGrid 에.. 나열 할 수는 없습니까?



음... DB내용을 읽어와서... 어디에 저장했다가 보여주는것인지,



아니면, DBGrid처럼 각 Field를 StringGrid에 적용시켜 주는지...



궁금합니다...



제가 하고 싶은것은..

여러 Table을 오픈하여 썩어서 보여주고 싶은 거라서 그렇거든요...



여러분들의 조언을 부탁합니다.





3  COMMENTS
  • Profile
    하얀까마귀 2000.03.28 05:36
    안녕하세요 하얀까마귀 입니다.



    우선 스트링 그리드를 디비 그리드처럼 사용하는건 그렇게 하면 되긴 하겠죠??



    물론 수정등의 작업은 좀 힘들게 구현해야 하겠지만...



    Table의 after open이벤트가 좋을것 같네요.. 이렇게 여시구....



    그냥 각각의 컬럼에 각각의 필드를 코딩으로 넣어 주셔야 합니다...



    이방법 밖에는 없어요...



    그런데... 여러 테이블이라 할지라도.. 그냥 쿼리에서 하셔도 될텐데요....



    union 절을 이용하면 충분히 가능합니다...



    ex)

    테이블 1-----------------

    이놈은 정직원 테이블

    사번 i 10

    이름 s 20

    주민번호 s 20

    주소 s 50

    -------------------

    테이블 2------------------

    이놈은 임시직 테이블

    고용번호 i 5

    임시이름 s 20

    임시주민번호 s 15

    주소 s 40

    --------------------------

    이렇게 다른 테이블이 2개 있어요... 내용을 보시면 알겠지만... 필드 이름들도 다르고



    필드의 길이도 다 다릅니다... 이런경우의 union



    select 사번 as 번호, substring(이름,1, 20) as 이름 , substring(주민번호,1,15)

    as 주번 , substring(주소,1,40) as 주소

    from 사원테이블



    union



    select 임시번호 as 번호, substring(임시이름,1, 20) as 이름 , substring(임시주민번호,1,15) as 주번 , substring(주소,1,40) as 주소

    from 임시고용테이블

    order by 1,2,3



    내용은 아시겠죠??? 이렇게 하시면 됩니다.



    문제는 파라독스의 경우 substring가 없다는 거죠..



    그래서 이경우에는 타입이 다른경우는 안됩니다.... integer하고 string를 같은 형으로



    변환을 못시키니까 불가능하죠.. 대신. 같은 타입인 경우에는 가능합니다..



    스트링의 길이가 다른문제는 처음의 길이를 따라 가게 됩니다..



    제생각에는 이렇게 하는게 더 좋을것 같네요.. 그럼..

    즐거운시간 되세요.



    -하얀까마귀 -





    이수정 wrote:

    > 꼭 DBGrid 에서가 아니라, StringGrid 에.. 나열 할 수는 없습니까?

    >

    > 음... DB내용을 읽어와서... 어디에 저장했다가 보여주는것인지,

    >

    > 아니면, DBGrid처럼 각 Field를 StringGrid에 적용시켜 주는지...

    >

    > 궁금합니다...

    >

    > 제가 하고 싶은것은..

    > 여러 Table을 오픈하여 썩어서 보여주고 싶은 거라서 그렇거든요...

    >

    > 여러분들의 조언을 부탁합니다.

    >

    >

  • Profile
    이수정 2000.03.29 03:12


    음.. union 하면 합해진다는건 알겠는데.. 합해진게 어디에 저장이 되는지..



    그걸 읽어 오려면 어디서 해야 하는지.. 그런거를 도통 모르는 초보입니다..



    합해진걸.. dbgrid에서는 어떻게 부르는지..



    임시 테이블 이름을 실행할때 지정하도록 하는건지..



    음... 아마도 그렇게 해야 겠네요...





    한번 책보고 연구해 보겠습니다.



    답변해 주셔서 감사합니다.





  • Profile
    하얀까마귀 2000.03.29 04:15
    안녕하세요 하얀까마귀 입니다...



    유니온도 SQL문법에 하나입니다...



    그러니까.. 그냥 쿼리(TQuery Component)에서 SQL에 넣어주시고 OPEN하시면 됩니다..



    다른 쿼리와 동일하게 그냥 메모리에 저장되게 됩니다...



    쿼리라는게 실제로 테이블에서 읽어오긴 하지만.. 쿼리 라는게 일단 읽은 다음에 원래



    테이블과의 연결은 약하죠.... 테이블은 그냥 1:1로 물려 있다고 생각하시면 되는데



    쿼리는 이 연결이 아주 약하다고 생각하시면 됩니다... 왜냐면.. 어떻게 쿼리를 열지



    알수 없잖아요.. 그러니까 이걸 연결하기가 무척 힘들겠죠.....



    ----------



    그냥 제가 적어드린 SQL문을 쿼리에 넣어 보세요.. 그럼 결과를 볼수 있을겁니다...



    그냥 간단하게 한번 만들어 보시면 아실수 있을겁니다...



    이수정 wrote:

    >

    > 음.. union 하면 합해진다는건 알겠는데.. 합해진게 어디에 저장이 되는지..

    >

    > 그걸 읽어 오려면 어디서 해야 하는지.. 그런거를 도통 모르는 초보입니다..

    >

    > 합해진걸.. dbgrid에서는 어떻게 부르는지..

    >

    > 임시 테이블 이름을 실행할때 지정하도록 하는건지..

    >

    > 음... 아마도 그렇게 해야 겠네요...

    >

    >

    > 한번 책보고 연구해 보겠습니다.

    >

    > 답변해 주셔서 감사합니다.

    >

    >