Q&A

  • 마이다스에서 쿼리....
안녕하세요~



일단 이렇게 했습니다....

ClientDataSet1.Close;

ClientDataSet1.CommandText := Edit1.Text;

ClientDataSet1.Open;



Edit1에 쿼리문 쓰거든요....

이렇게하니까 Select문은 잘돼는데....

Insert, Update문은 안돼네요... 에러 나요..

클라이언트에서는 TClientDataSet썼구요... TSocketConnect 썼습니다...

서버에서는 TQuery하고 TDataSetProvider썼습니다...

이번에 마이다스를 첨하는거고 오랜만에 델파이를 해서

헷갈리네요.....



답변부탁합니다.



3  COMMENTS
  • Profile
    김동석 2001.03.10 21:01
    execute로 하니까 돼네요.... 근데 이때는 select가 안돼네요......

    김동석 wrote:

    > 안녕하세요~

    >

    > 일단 이렇게 했습니다....

    > ClientDataSet1.Close;

    > ClientDataSet1.CommandText := Edit1.Text;

    > ClientDataSet1.Open;

    >

    > Edit1에 쿼리문 쓰거든요....

    > 이렇게하니까 Select문은 잘돼는데....

    > Insert, Update문은 안돼네요... 에러 나요..

    > 클라이언트에서는 TClientDataSet썼구요... TSocketConnect 썼습니다...

    > 서버에서는 TQuery하고 TDataSetProvider썼습니다...

    > 이번에 마이다스를 첨하는거고 오랜만에 델파이를 해서

    > 헷갈리네요.....

    >

    > 답변부탁합니다.

    >

  • Profile
    이제관 2001.05.26 03:40
    SELECT는 언제나 OPEN으로 하고

    INSERT와 UPDATE, DELETE는 execute로 하세요



    SELECT시 반드시 CLOSE하시는 것 잊지마시고요





    김동석 wrote:

    > execute로 하니까 돼네요.... 근데 이때는 select가 안돼네요......

    > 김동석 wrote:

    > > 안녕하세요~

    > >

    > > 일단 이렇게 했습니다....

    > > ClientDataSet1.Close;

    > > ClientDataSet1.CommandText := Edit1.Text;

    > > ClientDataSet1.Open;

    > >

    > > Edit1에 쿼리문 쓰거든요....

    > > 이렇게하니까 Select문은 잘돼는데....

    > > Insert, Update문은 안돼네요... 에러 나요..

    > > 클라이언트에서는 TClientDataSet썼구요... TSocketConnect 썼습니다...

    > > 서버에서는 TQuery하고 TDataSetProvider썼습니다...

    > > 이번에 마이다스를 첨하는거고 오랜만에 델파이를 해서

    > > 헷갈리네요.....

    > >

    > > 답변부탁합니다.

    > >

  • Profile
    김형준 2001.04.27 09:35
    > > 일단 이렇게 했습니다....

    > > ClientDataSet1.Close;

    > > ClientDataSet1.CommandText := Edit1.Text;

    > > ClientDataSet1.Open;

    > >

    > > Edit1에 쿼리문 쓰거든요....

    > > 이렇게하니까 Select문은 잘돼는데....

    > > Insert, Update문은 안돼네요... 에러 나요..

    > > 클라이언트에서는 TClientDataSet썼구요... TSocketConnect 썼습니다...

    > > 서버에서는 TQuery하고 TDataSetProvider썼습니다...

    > > 이번에 마이다스를 첨하는거고 오랜만에 델파이를 해서

    > > 헷갈리네요.....

    >

    저두 midas를 한지는 얼마 되지 않아요.

    하지만 도움이 될까 해서리......



    저의 경험으로는 Select 문을 사용할때는 항상

    ClientDataSet1.Close;

    ClientDataSet1.CommandText := '';

    ClientDataSet1.CommandText := 'Select * from (table_name)';

    ClientDataSet1.Open;



    이런 식으로 사용을 해야 하더라구요.



    이번에 하면서 느낀점 이에요.

    꼭! 그래야 하는건지는 모르만 전 암튼 이런식으로 사용했어요

    그래서 지금 쓰고 있구요.



    Insert, Delete, Update를 사용할때는

    ClientDataSet1.Close;

    부분을 사용하지 않고 바로



    ClientDataSet1.CommandText := '';

    ClientDataSet1.CommandTest := 'Insert Into (table_name) ('+

    'field_name) values (value);

    ClientDataSet1.Execute;



    이런식으로 사용하구요

    다른명령 delete, update 마찮가지 이더군요.



    그리고 RealTime으로 자료를 DB에 저장하고 싶으면

    applydata(-1);를 사용하고,

    그리고 바로 바뀐 데이터를 확인 하고 싶으면



    commit - rollback을 사용 하면 되지요.