우선 FREIMANN님의 빠른 답변에 감사드립니다.
그러나 분명히 제가 처음엔 되었다고 말씀드렸는데...
결론은 됩니다.
그러나 안됩니다. ^^;
우선 TQuery에서 조회한 내용을 TTable에서 처럼 수정하려면
아래와 같이 하면 됩니다.
procedure TForm1.Button1Click(Sender: TObject);
begin
if Query1.CanModify then begin
Query1.RequestLive := True;
Query1.Edit;
Query1.FieldValues['Field1'] := 'Data1';
Query1.Post;
end else begin
ShowMessage('수정할 수 없습니다');
end;
end;
물론 이 버튼을 클릭하기전에 Query1에 데이터가 세트되어 있어야 겠죠...
그런데, 모든 Query문을 지원하는게 아니더군요.
SQL을 아래과 같이 몇가지로 보였는데
SQL1 - 'SELECT * FROM "D:\MASTER.DBF"'
SQL2 - 'SELECT * FROM "D:\MASTER.DBF" WHERE CHKUPLOAD = TRUE'
SQL3 - 'SELECT * FROM "D:\Project\DB2PS\Database\MASTER.DBF" WHERE CHKUPLOAD = TRUE ORDER BY SYMBOL ASC'
여기서 SQL1번과 SQL2번은 Query1.Edit에 의해 수정이 가능합니다.
그러나 소팅되어진 결과인 SQL3번은 수정이 되지 않습니다.
물론, 제 결과는 제가 테스트한 것에 의한 자료입니다.
이
혹시 ODER BY 절이 들어간 것을 Edit로 변환할 수 있는 방법을 아시는 분은
제게 메일을 보내 주시면 감사하겠습니다.
메일은 ohjang@shinbiro.com 입니다.
여기에 답변으로 주셔도 좋구요...
참 수정말고 추가도 된다고 하더군요...
추가시에는 Query1.Edit 대신 Query1.Append를 사용한다고...
(제가 테스트 해 보지 않아서...)
음...
자세한 내용은
http://www.delphi.co.kr의 Q&A를 참조하세요...