다음의 예제를 보아 주십시오
ㅡ > 첫 번째 질문 사항입니다.
이 것은 쿼리 콤퍼넌트에 쓰인 문장입니다.
insert into inqtable
( noedit, client) values (:P_noedit, :P_client)
이것은 폼안의 코딩문입니다.
procedure TInPut.SaveBtnClick(Sender: TObject);
begin
with Query_insert do
begin
Close;
ParamByName('P_noedit').AsString := trim(NoEdit.text);
ParamByName('P_client').AsString := trim(ClientCombo.text);
execsql;
end;
end;
< 문제는 이 코딩을 사용하여 데이터를 입력시 데이터가 중복되었을
때 메시지문이 뜨면서 입력을 중단 시키려고 합니다.
어떻게 하면 좋을 까요 >
-> 두 번째 질문 사항입니다.
데이터 삭제시 삭제하는 데이터를 보여주면서, 예스하면 삭제하고,
노 하면 삭제 중지하는 방법은 없을 까요?
제가 하려고 하는 것은 일반적인 메시지 문이 아니고 가령
noedit 필드의 111 번(이것은 필드의 data 값입니다.)
삭제시 메시지에서 111번을 삭제 해도 되겠냐고
물어 보는 그런 것입니다. 그러니까 필드의 내용을 보여주는 그런 것이
되겠지요. 그런 방법이 없을 까요?
고수님들의 답변 부탁드립니다.
항상 질문만 드려 죄송합니다........**!!!!!!
해당테이블의 키필드가 물론 있겠지여...
var
reccnt: Integer;
begin
...
with query1.sql do begin
clear;
add('select count(*) as cnt from inqtable ');
add('where 키필드 = :키필드 ');
end;
query1.prepare;
query1.ParamByName('키필드').AsString := '키필드의값';
query1.open;
reccnt := query1.fieldbyname('cnt').AsInteger;
query1.close;
if reccnt > 0 Then // 기존중복 자료가 존재하는가에 따라서
update구문실