델파이 4
서버 NT 4
DB서버 오라클 8
DBEdit을 썼습니다...
신규를 누르면 'Append'하구요...
별문제 없이 저장이 돼는데...
만약 같은 프라이머리 키를 입력하면 에러가 떨어지네여...
저장(Post) 전 시점에서 똑같은 프라이머리 키가 있는지 없는지
첵크할 수 있는 방법없나여? 쩝...글쩍글쩍(읔 비듬 떨어진다...)
Lookup 함수를 써봤는데 이것두 해결책은 아니더군여...
아그리구여 역시 수정(Edit)할 때두 똑같은 프라이머리 키가 있는지 없는지 첵크하는 방법하구여...
항상 신세만 지네여... 쩝...
> 델파이 4
> 서버 NT 4
> DB서버 오라클 8
>
> DBEdit을 썼습니다...
> 신규를 누르면 'Append'하구요...
> 별문제 없이 저장이 돼는데...
> 만약 같은 프라이머리 키를 입력하면 에러가 떨어지네여...
> 저장(Post) 전 시점에서 똑같은 프라이머리 키가 있는지 없는지
> 첵크할 수 있는 방법없나여? 쩝...글쩍글쩍(읔 비듬 떨어진다...)
> Lookup 함수를 써봤는데 이것두 해결책은 아니더군여...
>
> 아그리구여 역시 수정(Edit)할 때두 똑같은 프라이머리 키가 있는지 없는지 첵크하는 방법하구여...
>
> 항상 신세만 지네여... 쩝...
(답변)
먼저 해당 record가 있는지 없는지를 select 하세요.
select 한 값과 현재 집어 넣고자 하는 값을 비교하면 되지 않을까요.
procedure checkKey;
var
s: string ;
query: string;
begin
s:=edit1.text;
query:='select * from tbname where code=' + '"' + s +'"';
with query1 do begin
close;
sql.clear;
sql.add(query);
open;
end;
if query1.fields[0].asstring<>'' then showmessage('값이 이미있습니다')
end;