Q&A

  • 데이타를 삭제하면 DBGrid 의 내용이 사라져요.
query를 이용해서 조회를 한 후 그리드에 뿌려줍니다.

그리드에서 하나의 로우를 선택해 삭제버튼을 눌러 해당 로우만 지우고 싶습니다.

아래와 같이 했는데, 테이블에서 데이타는 지워지는데요,

with Query1 do begin

Close;

Sql.Clear;

Sql.Add('delete from alt5 ');

Sql.Add(' where C_NO = "'+ 변수1 +'" ');

Sql.Add(' and C_DATE = "'+ 변수2 +'" ');

ExecSql;

end;

화면의 디비그리드의 값들이 없어져요.

참고로 조회버튼의 코딩은

Query1.Close;

Query1.SQL.Clear;

Query1.SQL.Add('select * from 테이블명');

Query1.Open;

DBGrid2.DataSource:=DataSource1;

DBGrid2.refresh;



책에도 없고, 인터넷 찾는것도 힘들고

또 초보라 도움말도 솔직히 찾아가기 어렵네요.

2  COMMENTS
  • Profile
    망치 2001.05.22 23:32
    델파이초보 wrote:

    > query를 이용해서 조회를 한 후 그리드에 뿌려줍니다.

    > 그리드에서 하나의 로우를 선택해 삭제버튼을 눌러 해당 로우만 지우고 싶습니다.

    > 아래와 같이 했는데, 테이블에서 데이타는 지워지는데요,

    > with Query1 do begin

    > Close;

    > Sql.Clear;

    > Sql.Add('delete from alt5 ');

    > Sql.Add(' where C_NO = "'+ 변수1 +'" ');

    > Sql.Add(' and C_DATE = "'+ 변수2 +'" ');

    > ExecSql;

    > end;

    > 화면의 디비그리드의 값들이 없어져요.

    > 참고로 조회버튼의 코딩은

    > Query1.Close;

    > Query1.SQL.Clear;

    > Query1.SQL.Add('select * from 테이블명');

    > Query1.Open;

    > DBGrid2.DataSource:=DataSource1;

    > DBGrid2.refresh;

    >

    > 책에도 없고, 인터넷 찾는것도 힘들고

    > 또 초보라 도움말도 솔직히 찾아가기 어렵네요.



    Query1을 가지고 조회를 했는데

    다시 Query1을 가지고 Delete문을 실행해서 그러는 것입니다..

    보면 delete문 전에 close를 시키잖아요. 그러면 전에 query1이 가지고

    있던 전 데이타는 없어지죠...

    삭제후 조회를 다시하시던지..아니면updateSQL을 사용해서 post하시던지

    하셔야 될겄같네요...

    답변이 제대로 되었나 모르겠네요..그럼 수고하세요...

  • Profile
    델파이초보 2001.05.23 03:32
    우선 감사 드립니다.

    근데, query만 따로 쓰면 되나요? 아님 데이타소스도 새로 생성해야 하나요?

    일단은 새로 만들었거든요.

    query를 따로 쓰니까

    그런 현상은 없어지는데,

    대신 그리드에서 로우가 없어지지를 않네요.



    어떻게 하면 되나요?

    부탁드립니다.