쿼리 컴퍼넌트를 이용해 SQL문을 사용해서
추가,삭제,수정...등을 해볼려고 하는데 잘 안되네요..
삭제의 경우
TXT := 'WHERE Name = "'+Query1.FieldByName('Name').AsString+'"';
With Query1 Do
begin
Active := False;
SQL.Clear;
SQL.Add(' Delete FROM data.db');
SQL.Add(TXT);
Active := True;
end;
이렇게 하면 현재 선택되어진넘이 삭제는 되지만 에러 메세지를 나타내고
그리드는 완존히 백지화(전부 지워짐)됩니다.
물론 프로그램을 다시 실행시키면 전에 삭제한건 없어지고 나머진 그대로 나와요..
에러도 안나오고 제대로 지우는 방법이 없을까요?...
지우는데서 이렇게 애를 태우니까 추가나 수정도 해볼 엄두가 나지 않는구요...
이제막 SQL에 대해서 배우는 중입니다.
이것 말고 다른문장이 필요한가요?...
추가, 수정도 Insert 나 Update 말고 사용하는 구문이 따로 있나요?..
가르켜 주세요..
그럼..
음... 디비에사용하신 쿼리를 딜리트 하시는데 그대로 사용하셨군요...
그래서리....그 쿼리를 닫어붕께 그리드는 자연적으로 백지화 되야부렀을 것이고
일케하시믄...
그리드에 쓰신쿼리는 삭제하기전에 active := false 후에 true 하시거나
refresh를 해줘도 될것이고
삭제를 위한 쿼리를 또다른 쿼리를 생성하셔서 거기다가 딜리트 문을 담아서
처리를 하시믄 되겠네요...
> TXT := 'WHERE Name = "'+Query1.FieldByName('Name').AsString+'"';
> With Query2 Do
> begin
> Query1.Active := False;
Close;
> SQL.Clear;
> SQL.Add(' Delete FROM data.db');
> SQL.Add(TXT);
ExecSql;
Close;
> Query1.Active := True;
> end;
김종석 wrote:
> 쿼리 컴퍼넌트를 이용해 SQL문을 사용해서
> 추가,삭제,수정...등을 해볼려고 하는데 잘 안되네요..
> 삭제의 경우
> TXT := 'WHERE Name = "'+Query1.FieldByName('Name').AsString+'"';
> With Query1 Do
> begin
> Active := False;
> SQL.Clear;
> SQL.Add(' Delete FROM data.db');
> SQL.Add(TXT);
> Active := True;
> end;
> 이렇게 하면 현재 선택되어진넘이 삭제는 되지만 에러 메세지를 나타내고
> 그리드는 완존히 백지화(전부 지워짐)됩니다.
> 물론 프로그램을 다시 실행시키면 전에 삭제한건 없어지고 나머진 그대로 나와요..
> 에러도 안나오고 제대로 지우는 방법이 없을까요?...
> 지우는데서 이렇게 애를 태우니까 추가나 수정도 해볼 엄두가 나지 않는구요...
> 이제막 SQL에 대해서 배우는 중입니다.
> 이것 말고 다른문장이 필요한가요?...
> 추가, 수정도 Insert 나 Update 말고 사용하는 구문이 따로 있나요?..
> 가르켜 주세요..
> 그럼..
>