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;
책에도 없고, 인터넷 찾는것도 힘들고
또 초보라 도움말도 솔직히 찾아가기 어렵네요.
> 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하시던지
하셔야 될겄같네요...
답변이 제대로 되었나 모르겠네요..그럼 수고하세요...