다음 프로시져를 실행하면 Error creating cursor handle 에러가 발생합니다. 파라독스 디비에 아이디와 패스워드를 넣는 프로시져인데 커서핸들을 어떻게 제어해야 합니까?? 제가 커서를 배운것은 사이베이스에서 select 할때 exec/c 밖에 안해봐서 이게 먼소리인지를 알수가 없습니다. 에러가 발생하면서 아이디와 비번은 비디에 들어가기는 합니다. 그리고 key violation 에러도 발생하는데 어떻게 해결을 해야하는지도 부탁드립니다.
디비초보라 이거 영 쉽지를 않습니다.
procedure tform1.inputuser(id, pwd:string);
var
win, lose:string;
begin
win:='0';
lose:='0';
with query1 do begin
close;
sql.clear;
sql.add('insert into users');
sql.Add('(ID, Pwd, Win, Lose)');
sql.add('values');
sql.add('(:f1, :f2, :f3, :f4)');
parambyname('f1').asstring:=id;
parambyname('f2').asstring:=pwd;
parambyname('f3').asstring:=win;
parambyname('f4').asstring:=lose;
if prepared = false then prepare;
active:=true;
end;
query1.ExecSQL;
end;
> 다음 프로시져를 실행하면 Error creating cursor handle 에러가 발생합니다. 파라독스 디비에 아이디와 패스워드를 넣는 프로시져인데 커서핸들을 어떻게 제어해야 합니까?? 제가 커서를 배운것은 사이베이스에서 select 할때 exec/c 밖에 안해봐서 이게 먼소리인지를 알수가 없습니다. 에러가 발생하면서 아이디와 비번은 비디에 들어가기는 합니다. 그리고 key violation 에러도 발생하는데 어떻게 해결을 해야하는지도 부탁드립니다.
> 디비초보라 이거 영 쉽지를 않습니다.
>
> procedure tform1.inputuser(id, pwd:string);
> var
> win, lose:string;
> begin
> win:='0';
> lose:='0';
> with query1 do begin
> close;
> sql.clear;
> sql.add('insert into users');
> sql.Add('(ID, Pwd, Win, Lose)');
> sql.add('values');
> sql.add('(:f1, :f2, :f3, :f4)');
> parambyname('f1').asstring:=id;
> parambyname('f2').asstring:=pwd;
> parambyname('f3').asstring:=win;
> parambyname('f4').asstring:=lose;
> if prepared = false then prepare;
> active:=true;
> end;
> query1.ExecSQL;
> end;
active:=true; -->이거 빼세요..
key violation 은 여러방법이 있지만 일단은 insert 이전에 한번 select해보는것두 방법이지요.