Q&A

  • 3-tier ClientDataset 에 대해
안녕하세요.

Client에서 어떤 조건을 주면 그 조건에 맞는 내용만 app서버에서 query하려는 걸 구현하고자 합니다.

app서버에서 어떤 조건으로 query 한다고 한다면 제 머리론 4가지를 생각해 볼 수 있습니다.

1. app서버에서 미리 query할 내용들을 준비한다.
  - 이건 좀 무식하기도 하고 내용엔 안 맞는 것 같습니다. client가 어떤 조건을 제시할 지 모르기 때문이죠. 예를들어 주소 table에서 동명으로 찾고자 한다면 동명으로 query 해야 할텐데 그 동명이 모가 될지는 app서버에서 알 수 없다는 거죠)

2. app서버에 query할 sql 문장을 넘겨주어 ClientDataset에 얻어온다.
  - 이 방법이 정답일지도 모르겠습니다. 그러나 sql 문장을 넘겨준 다는 것 자체가 app서버의 콤포넌트를 제어 한다는 것이 되버리는데요. 이게 가능한지 저로선 모르겠고요(Q&A찾아보니 mssql은 rowdataset 이던가요? 그걸 사용하는 것 같습니다만 범용성을 생각하면..) client 에서 app서버 콤포를 만진다는 자체가 조금 무리이기도 할 것 같습니다.

3. ClientDataset의 내용을 다시 query한다.
  - 이게 가능한지 알고 싶습니다. Master/Detail도 아니고 그냥 Dataset을 다시 query하는건데 가능한지 여부와 가능하다면 방법을 알고 싶습니다. 가능하다면 이 방법이 가장 무난한 방법이 아닐까 생각합니다.

4. App서버에 프로시져를 두어(파라메터를 받아 그 값으로 query를 돌리는) client가 그 프로시져를 부름으로써 TClientDataset에 내용을 얻어오는 방법.
  - 이것도 좋은 방법이라고 생각합니다. 그런데 App서버에 프로시져를 만들었다면 그것을 어떻게 client에서 부를지 모르겠습니다. (가능할까요?)

여기까지가 제 한계입니다. 델파일 처음 접하니 힘드네요. ㅠㅠ
다른 좋은 방법이 있으시거나 위의 방법중 가능하다면 알려주시기 바랍니다. 사례는...  전 애니메이션 바께 가진게 없습니다. ㅠㅠ
즐거운 하루 되셔요~
1  COMMENTS