안녕하세요.. 델파이 초보자인데요. 급한 문제가 발생해서 질문을 합니다.
DataSource 컴포넌트 하나와 Query 컴포넌트 하나로 구성된 것에서
처음 실행시는 DBNavigator의 추가, 삭제, 수정등등이 전부 사용가능한데 아래와 같이 코딩으로 조회를 하면 조회는 잘 되는데 일단 아래와 같이 하면 DBNavigator의 수정, 삭제, 추가버튼이 disable되고 레코드이동 버튼만이 Enable되어 다시 운래대로 돌아오지 않는데 어떻게 하면 조회후에도 수정, 삭제 추가가 이루어 지도록 할 수 있을까요. 데이타베이스는 로컬에서 사용됩니다.
procedure TForm1.BitBtn8Click(Sender: TObject);
begin
if Edit3.Text='' then Application.MessageBox('찾고자 하는 고객명을 입력하세 요', '고객명 미 입력', mb_Ok)
else
begin
with Data.Query2 do
begin
Close;
SQL.Clear;
SQL.Add('Select * from Service');
if Edit3.Text <> '' then
begin
SQL.Add('Where NAME=:NAME1');
ParamByName('NAME1').AsString:=Edit3.Text;
end
else SQL.Add('(NAME is Null or NAME is Not Null)');
SQL.Add('Order By NAME');
Open;
if RecordCount=0 then Application.MessageBox('검색된 결과가 없습니다.','고객정비내용 조회', mb_Ok);
end;
end;
end;
해결책 꼭 좀 부탁합니다. 그리고 데이타 데이타소스와 쿼리 각각 하나를 모듈로 사용하고 있습니다.
고수님의 해결책 가몸에 비한줄기 기다리듯이 기다리겠습니다..
꼭 좀...
그럼 안녕히...
Query 컴포넌트의 속성중 cachedUpdates를 True로 만들어 주면 일단은 Read-Only Dataset이라는 메시지는 안뜨더군요. 그리고 DBNavigator의 버튼을 사용할 수 있게 되었습니다.
그러나 여기서 BDNavigator로 추가,삭제,수정이 이루어진 작업이 데이타 베이스에 적용이 되지를 않는 군요. 일단은 삭제시 DBGrid에서는 사라지는데 다시 불러오면 원래 상태 그래로 남아 있습니다. 이제 이것을 해결해야 되겠습니다.
고수님들의 가르침을 기다립니다.
그럼 안녕히...