Q&A

  • 데이터 처리하는 방법중 이런 방법은 없나요?
안녕하세요. 까마귀입니다.

한동안 이래저래 못들어오다가 모르는게 있어서 들어오네요.



여러 테이블에 데이터를 삽입/수정/삭제 등을 해야 합니다.

DBGrid상에서 구현해서 어짜피 코드는 똑같습니다.



DataModule1.Query1.ApplyUpdates;

DataModule1.Query2.ApplyUpdates;

DataModule1.Query1.CancelUpdates;

.

. 등등...



여러 테이블에 대해서 하기 때문에 단지 Query 콤포넌트의 이름만 틀릴뿐이지 같은 코드이거든요.

그래서 생각한것이 아래처럼 구현을 하면 어떨가 하는 것입니다.



(ActiveControl as TDBGrid).DataSource.DataSet.Name 을 하면 각 DBGrid에 연결된 Query 의 이름을 알수가 있습니다.

이 이름을 가지고 ApplyUpdates 나 CancelUpdates등을 실행하게 할수 있는 방법이 없나요?

(ActiveControl as TDBGrid).DataSource.DataSet 여기에서는 ApplyUpdates등의 속성이 아예 없더군요.

이거 처리하는 방법이 없는지요? 있었으면 좋겠는데....

질문에 대한 설명이 좀 난해한것 같은데 읽어주셔서 감사합니다.

많은 도움 바랍니다. 꾸벅~~.







위대한 단군혼이 살아있는 나라.... 대한민국.

2  COMMENTS
  • Profile
    최석기 2000.07.19 22:19
    까마귀 wrote:

    > 안녕하세요. 까마귀입니다.

    > 한동안 이래저래 못들어오다가 모르는게 있어서 들어오네요.

    >

    > 여러 테이블에 데이터를 삽입/수정/삭제 등을 해야 합니다.

    > DBGrid상에서 구현해서 어짜피 코드는 똑같습니다.

    >

    > DataModule1.Query1.ApplyUpdates;

    > DataModule1.Query2.ApplyUpdates;

    > DataModule1.Query1.CancelUpdates;

    > .

    > . 등등...

    >

    > 여러 테이블에 대해서 하기 때문에 단지 Query 콤포넌트의 이름만 틀릴뿐이지 같은 코드이거든요.

    > 그래서 생각한것이 아래처럼 구현을 하면 어떨가 하는 것입니다.

    >

    > (ActiveControl as TDBGrid).DataSource.DataSet.Name 을 하면 각 DBGrid에 연결된 Query 의 이름을 알수가 있습니다.

    > 이 이름을 가지고 ApplyUpdates 나 CancelUpdates등을 실행하게 할수 있는 방법이 없나요?

    > (ActiveControl as TDBGrid).DataSource.DataSet 여기에서는 ApplyUpdates등의 속성이 아예 없더군요.

    > 이거 처리하는 방법이 없는지요? 있었으면 좋겠는데....

    > 질문에 대한 설명이 좀 난해한것 같은데 읽어주셔서 감사합니다.

    > 많은 도움 바랍니다. 꾸벅~~.

    >

    >

    >

    > 위대한 단군혼이 살아있는 나라.... 대한민국.



    (ActiveControl as TDBGrid).DataSource.DataSet 상태이면 타입 자체가 TCustomDataset이 되는걸로 알고 있는데..

    ApplyUpdate는 TQuery 형의 메쏘드니까 (ActiveControl as TDBGrid).DataSource.DataSet를 TQuery로 타입 캐스트 해서 사용하면 되지 않을까요??

  • Profile
    까마귀 2000.07.20 03:33
    최석기 wrote:

    > 까마귀 wrote:

    > > 안녕하세요. 까마귀입니다.

    > > 한동안 이래저래 못들어오다가 모르는게 있어서 들어오네요.

    > >

    > > 여러 테이블에 데이터를 삽입/수정/삭제 등을 해야 합니다.

    > > DBGrid상에서 구현해서 어짜피 코드는 똑같습니다.

    > >

    > > DataModule1.Query1.ApplyUpdates;

    > > DataModule1.Query2.ApplyUpdates;

    > > DataModule1.Query1.CancelUpdates;

    > > .

    > > . 등등...

    > >

    > > 여러 테이블에 대해서 하기 때문에 단지 Query 콤포넌트의 이름만 틀릴뿐이지 같은 코드이거든요.

    > > 그래서 생각한것이 아래처럼 구현을 하면 어떨가 하는 것입니다.

    > >

    > > (ActiveControl as TDBGrid).DataSource.DataSet.Name 을 하면 각 DBGrid에 연결된 Query 의 이름을 알수가 있습니다.

    > > 이 이름을 가지고 ApplyUpdates 나 CancelUpdates등을 실행하게 할수 있는 방법이 없나요?

    > > (ActiveControl as TDBGrid).DataSource.DataSet 여기에서는 ApplyUpdates등의 속성이 아예 없더군요.

    > > 이거 처리하는 방법이 없는지요? 있었으면 좋겠는데....

    > > 질문에 대한 설명이 좀 난해한것 같은데 읽어주셔서 감사합니다.

    > > 많은 도움 바랍니다. 꾸벅~~.

    > >

    > >

    > >

    > > 위대한 단군혼이 살아있는 나라.... 대한민국.

    >

    > (ActiveControl as TDBGrid).DataSource.DataSet 상태이면 타입 자체가 TCustomDataset이 되는걸로 알고 있는데..

    > ApplyUpdate는 TQuery 형의 메쏘드니까 (ActiveControl as TDBGrid).DataSource.DataSet를 TQuery로 타입 캐스트 해서 사용하면 되지 않을까요??



    안녕하세요. 까마귀입니다.

    말씀하신대로 TQuery로 잡아서 해봤는데요. 마찬가지네요.

    ((ActiveControl as TDBGrid).DataSource.DataSet as TQuery) 이렇게 했거든요.

    역시 ApplyUpdates 속성은 생기지 않네요.

    제가 잘못한건가요?

    좀더 자세하게 가르쳐주시면 감사하겠습니다.

    참 제가 지금하고 있는것은 UpdateSQL을 연결해서 사용하고 있는 겁니다.

    위에서 빠뜨리고 않 적었길래....







    위대한 단군혼이 살아있는 나라.... 대한민국.