Q&A

  • 데이터베이스 컴포넌트에 대한 질문입니다.
이제 델파이에 막 입문하였죠..

지금 데이터베이스 부분을 공부하다가 문득 의문이 생겨서요.

데이터베이스에 관련된 컴포넌트중에 Data Access Component와 Data Control Component가 있죠.

Data Access Component에서는 TTable Component와 TQuery Component가 있고 이런 TTable과 TQuery를 Data Control Component와 연결시켜주는 DataSource Component가 있죠.

그런데 대체 이 DataSource Component는 왜 있을까요?

그냥 직접적으로 TTable이나 TQuery에서 바로 Data Control Component와 연결시켜줄수도 있었을 텐데 궂이 DataSource라는 중간과정을 거치게끔 한 이유가 있을듯합니다.

아시는분 알려주세욤~
7  COMMENTS
  • Profile
    바보감자 2003.07.25 04:14
    안녕하세요 언제나 초보 바보감자입니다..
    데이타 소스가 없어도 됩니다.
    그럼 다른분이 답변 한것처럼 데이타를 읽어서 뿌려주어야겠지요.
    그역활을 하는놈이 소스 입니다.
    데이터컨트롤 을 해주는 놈이라고 생각하시면됩니다
    저는 그거 안쓰는쪽이 오히려 편하더라구요 ^^;;
    데이타를 메모리에 싹 가져와서 써치하고 작업하고..
    잡담이였습니다 ~~~
    저두 이것저것 궁금한게 많았는데 요즘 은 돈되는것만 궁금하다는...
    이러면 안되는데 말이죠.. 그런 호기심을 끝까지 지니고 가시길 바랍니다
    수고하세요 ^^




  • Profile
    열심히 2003.07.25 07:25
    그렇겠져??

    헬프에보면 데이터셋은 그냥 데이터 셋일뿐이니 그걸 디스플래이 해주고

    조작 할수 있는 데이터 컨트롤이 있구요..

    이걸 연결해주는게 데이타 소스지요..

    위님 말씀은 데이타 컨트롤을 쓰지 않는다면 데이타 소스가 필요없다는 뜻 같습니다.

    그리고 TDataSource 클래스를 좀 살펴보니(봐도 몬소린진 잘모르지만..)

    말그대로 연결해주는 데이타셋의 상태를 점검하고 (열려있나 닫혀있나..)

    연결해주고 그런것들을 하더라구요..

    데이타 소스가 없다면 모든 데이타 컨트롤들이 이런일들을 해줘야하니깐

    하나의 데이터소스가 하는게 괜찮겠죠??

    뭐 그런 생각이 드네욤...^^

    어디까지나 제 추측으로 말씀드린것입니다...참고만 하세요..

  • Profile
    KDDG_Hit 2003.07.25 20:38
    흠.. DataSource가 데이타셋의 상태를 점검하는 일도 하고 있었군요..

    그렇다면 님 말씀이 맞는듯하네요..

    제가 생각했었던것은 TTable이나 TQuery컴포넌트가 여러개 있고, Data Control도 여러개가 있다면..

    TTable,TQuery와 Data Control사이의 연결상태가 매우 복잡하게 얽히기 때문에 중간에 DataSource라는 매개체를 두어서 연결상태를 간단히하면서 개발자에게 혼동을 주지 않게 하기 위해서이지 않을까 생각했었거든요. ^^

  • Profile
    KDDG_RNStone 2003.07.25 00:03
    Table1 세팅 다 하시고 Active := True; 하시고

    일단 DataSource1의 DataSet에 Table1연결하시고...

    DBGrid를 올려보세요.

    DBGrid의 Property 중 DataSource 부분에 DataSource1연결 해 보세요.

    그럼 DBGrid에 뭔가가 오라올꺼에요. ^^;


  • Profile
    KDDG_Hit 2003.07.25 02:15
    스톤님 말씀처럼 Table1과 DBGrid를 연결하는 역활을 DataSource가 하고 있죠.

    그런데 Table1이 직접 DBGrid와 연결될수도 있었을텐데.. 왜 궂이 DataSource라는 컴포넌트를 만들어서 중간에 만들어주는 역할을 할까요?

    무언가 이유가 있을거 같은데요..

  • Profile
    KDDG_RNStone 2003.07.25 04:37
    DataSource 없이 연결이 된다구요? 전 모르는 일인데... 그게 정말 가능한가요?

    아니죠? 걍 DataSource의 존재 의미를 알고 싶은거죠? 이넘은 뭐땜시 만들었냐 하는...

    만약 그거라면... 그건 델파이 헬프에 어느정도 나와있지 않나요? 컴포 하나 올려 놓으시고 DataSource 선택하시고 F1 누르면 나오는....

    제가 넘 헛다리만 짚나요? 저도 초보라... 이해 해 주세요. ㅡㅡ;


  • Profile
    연기훈 2003.07.25 02:21
    그건.. 중간에 데이터를 제어해주기 위해서가 아닐까 생각해봤는데...

    이런 질문이 올라오니. 한번쯤 생각해볼만한 질문이네요..

    dbgrid에 데이터를 뿌려주기 위해선 레코드를 처음부터 끝까지

    순차적으로 읽어야 만하지 않나요...

    물론, sql을 직접 연결해서 코딩으로 뿌려줘도 상관은 없지만..

    그런 코딩을 자동으로 해주는 넘(?)이 아닐까....

    이건 저의 추축입니다.. ^^

    • 정통
    • 2003.07.25 04:47
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 정영주
    • 2003.07.25 04:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • major
      2003.07.25 05:16
      안녕하세요.. 정확히 기억이 나지는 않지만 예전에 이렇게 썼던걸로 기억하는데요.. Tdatetime(=...
    • 남현숙
    • 2003.07.25 04:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Goni
      2003.07.25 10:22
      폼에 스크롤바가 생긴다는 말씀이면 폼의속성중에서  vertscrollbar 의 + 를 클릭하시면 세부 ...
    • 김성열
    • 2003.07.24 23:44
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 오은경
    • 2003.07.24 23:29
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이정광
      2003.07.25 04:54
    • Goni
      2003.07.25 11:02
      제가 자주가는사이트인데 여기에 가시면 님이 궁금해하시는 내용이 있을겁니다.     ...
    • 유민호
    • 2003.07.24 20:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2003.07.29 02:02
      안녕하세요. 타락임다. 발상의 전환이 필요하죠. 다른 컴에선 안되는데 님의 컴에선 잘 되면 님 컴...
    • KDDG_Hit
    • 2003.07.24 19:57
    • 7 COMMENTS
    • /
    • 1 LIKES
    • 바보감자
      2003.07.25 04:14
      안녕하세요 언제나 초보 바보감자입니다.. 데이타 소스가 없어도 됩니다. 그럼 다른분이 답변 한것처럼 ...
    • 열심히
      2003.07.25 07:25
      그렇겠져?? 헬프에보면 데이터셋은 그냥 데이터 셋일뿐이니 그걸 디스플래이 해주고 조작 할수 있는 ...
    • KDDG_Hit
      2003.07.25 20:38
      흠.. DataSource가 데이타셋의 상태를 점검하는 일도 하고 있었군요.. 그렇다면 님 말씀이 맞는듯하네요...
    • KDDG_RNStone
      2003.07.25 00:03
      Table1 세팅 다 하시고 Active := True; 하시고 일단 DataSource1의 DataSet에 Table1연결하시고... ...
    • KDDG_Hit
      2003.07.25 02:15
      스톤님 말씀처럼 Table1과 DBGrid를 연결하는 역활을 DataSource가 하고 있죠. 그런데 Table1이 직접 DB...
    • KDDG_RNStone
      2003.07.25 04:37
      DataSource 없이 연결이 된다구요? 전 모르는 일인데... 그게 정말 가능한가요? 아니죠? 걍 DataSource...
    • 연기훈
      2003.07.25 02:21
      그건.. 중간에 데이터를 제어해주기 위해서가 아닐까 생각해봤는데... 이런 질문이 올라오니. 한번쯤 생...
    • 진요한
    • 2003.07.24 14:11
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김동화
    • 2003.07.24 08:04
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 연기훈
      2003.07.25 02:17
      BDE 메모리 에러 입니다. 메모리에 BDE를 올릴수 있는 용량 초과나, 충돌로 인한 것이니.. koreadelphi...
    • 방재웅
      2003.07.24 21:25
      BDE 엔진 에러네요. BDE부분 검토하세요.
    • 별볼일없는
      2003.07.24 21:17
      [conpon...] [install pack...] add 하시고 ...delphi7bin 폴더에 보시면   dclqrt70....
    • 행복용달^-^*
      2003.07.24 18:33
      사용 가능합니닷
    • 정경철
      2003.07.24 03:50
      이렇게 한번 해보십시오. WinExec(Pchar(star),SW_SHOWNORMAL); 제가 알고 있기로는 API 함수는 C 문...
    • major
      2003.07.24 03:47
      안녕하세요... 오늘은 쫌 한가해서 여러번 글을 올리네요..^^;; 변수 star : PChar; 로 하시고요.....
    • 처음느낌그대로
      2003.07.24 04:05
      아... 되네요... 감사합니다.
    • 송정철
      2003.07.24 04:48
      겹쳐진 부분을  rect로 영역을 잡으시고 그곳에 다른 무언가를 두시면 되겠군요..예를들면 s...
    • major
      2003.07.24 03:50
      허허허 이거 컴포넌트에 보시면 Send to back 이라든가 Bring to Front 를 하시면 될 것 같은데요..^^;...
    • 아리엘
      2003.07.24 03:11
      아마도 Shape.Shape:=qrsRectangle; 이 걸 정의 안해줘서 6이하일경우 라인으로 표시됬나봅니다.. ...
    • 이돈결
    • 2003.07.24 00:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한만교
      2003.07.27 15:49
      이런경우는 뭔가 노이즈에 의해 실제 데이터의 값이 변화하는 경우이거나 아니면 결선상의 문제일수도 있겠...
    • 빵빵빵
    • 2003.07.23 21:11
    • 3 COMMENTS
    • /
    • 0 LIKES
    • major
      2003.07.23 22:23
      안녕하세염... 전 꽁수를 좋아하는 관계로...ㅠ.ㅠ 밴드중에 PageHeader가 있으면 Page Header가...
    • 빵빵빵
      2003.07.23 23:57
      디테일밴드에 BeforePrint에 이벤트를 주었습니다. 그런데 문제가 있습니다. BeforePrint에 이벤트...
    • major
      2003.07.24 00:42
      허허허 이거는 이벤트가지고 약간씩만 조정하시면 될 것 같은데요.. 근데 이거 디테일 밴드에 이미...
    • 조경모
    • 2003.07.23 21:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 열심히
      2003.07.23 21:58
      이번트 중에 onEnter OnExit 라는 이벤트가 있습니다. 포커스가 들어갈때 나갈때 이런 뜻이겠죠?? 이...