Q&A

  • Error creating cursor handle 에러가 발생하면...
다음 프로시져를 실행하면 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;

3  COMMENTS
  • Profile
    ... 2000.11.17 00:37
    volf wrote:

    > 다음 프로시져를 실행하면 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해보는것두 방법이지요.



  • Profile
    방문현 2000.11.17 02:39


    key violation에 대해서는 table에 설정된 index field나 다른 필드라도



    unique 즉 단일만 허용일 때 같은 레코드가 입력되면 나옵니다.



    서버에서 기존 레코드에서 같은 값을 찾아서 있으면 받아들이지 않는 것입니다.



    table의 인덱스를 다시 한번 보시고 unique 설정을 해제하시던가 해 보세요...



    paradox등에서는 id 를 자동증가 필드로 만들고 거기에 입력한다던가 하면



    비슷한 에러가 납니다...



    그럼...



  • Profile
    volf 2000.11.17 05:26
    잘 됩니다.^^