Q&A

  • EDBEngineError관련 질문입니다.
프로그램을 실행하고 나서 edit박스에 문자를 집어넣고 검색버튼을 느를때 마다

자꾸 EDBEgineError가 뜹니다. 좀 도와주십시요...^^

에러 내용은 아래와 같습니다.

<< Project Project1.exe raised exception class EDBEngineError with message 'Invalid use of keyword'

Token:=?

Line Number:3', process stopped use step or Run to Continue>>



뛰어쓰기가 잘못된나하고 자꾸 바꿔보아도 에러가 계속 생깁니다.제발 도와주세요..

제가 작성한 버튼클릭 이벤트는 다음과 같습니다.



procedure TForm1.BitBtn8Click(Sender: TObject);



begin

query1.Close;

query1.SQL.clear;

query1.SQL.Add(' select * ');

query1.SQL.Add(' from test');

if (edit24.text<>'') and (edit25.text<>'') then

begin

query1.sql.Add(' where date=:name ');

if edit1.text<>'' then

query1.SQL.Add(' and NAME=:name1 ');

end

else if edit1.text<>'' then begin

query1.SQL.Add(' NAME=:name1 ');

end

else begin

Application.MessageBox('날짜나 이름을 입력하십시요.',

'찾기취소',MB_OK);

end;

if (edit24.text<>'') and (edit25.text<>'') then

query1.ParamByName('name').asstring:=edit24.text+edit25.text;

if edit1.text<>'' then

query1.ParamByName('name1').asstring:=edit1.Text;

query1.open;



if query1.recordcount<1 then

Application.MessageBox('해당자가 없습니다!','찾기취소',mb_ok);

end;



3  COMMENTS
  • Profile
    하기 2001.05.20 00:28
    음냐리... 2.번에 and 가 하나 (' and Name = :Name1')빠진것 같군요...

    이렇게요... 그리고 1번은 코딩이 필요 없는것 같은데요...

    2번에 내용이 나오니까요... 1번의내용을 그대로 2번으로 옮겨 주심이...

    그리고 3번의 MessageBox에서 ok를 하면 ...그래도 Error가 나올것 같은데요

    아래의 루틴을 계속 실행하게 되니까요... 맞나... 그럼 즐거운 주말....

    즐거운 코딩되세요...



    query1.Close;

    query1.SQL.clear;

    query1.SQL.Add(' select * ');

    query1.SQL.Add(' from test');

    if (edit24.text<>'') and (edit25.text<>'') then

    begin

    query1.sql.Add(' where date=:name ');

    1 if edit1.text<>'' then

    query1.SQL.Add(' and NAME=:name1 ');

    end

    else if edit1.text<>'' then begin

    2 query1.SQL.Add(' NAME=:name1 ');

    end

    else begin

    3 Application.MessageBox('날짜나 이름을 입력하십시요.',

    '찾기취소',MB_OK);

    end;

    if (edit24.text<>'') and (edit25.text<>'') then

    query1.ParamByName('name').asstring:=edit24.text+edit25.text;

    if edit1.text<>'' then

    query1.ParamByName('name1').asstring:=edit1.Text;

    query1.open;



    if query1.recordcount<1 then

    Application.MessageBox('해당자가 없습니다!','찾기취소',mb_ok);







    초보 wrote:

    > 프로그램을 실행하고 나서 edit박스에 문자를 집어넣고 검색버튼을 느를때 마다

    > 자꾸 EDBEgineError가 뜹니다. 좀 도와주십시요...^^

    > 에러 내용은 아래와 같습니다.

    > << Project Project1.exe raised exception class EDBEngineError with message 'Invalid use of keyword'

    > Token:=?

    > Line Number:3', process stopped use step or Run to Continue>>

    >

    > 뛰어쓰기가 잘못된나하고 자꾸 바꿔보아도 에러가 계속 생깁니다.제발 도와주세요..

    > 제가 작성한 버튼클릭 이벤트는 다음과 같습니다.

    >

    > procedure TForm1.BitBtn8Click(Sender: TObject);

    >

    > begin

    > query1.Close;

    > query1.SQL.clear;

    > query1.SQL.Add(' select * ');

    > query1.SQL.Add(' from test');

    > if (edit24.text<>'') and (edit25.text<>'') then

    > begin

    > query1.sql.Add(' where date=:name ');

    > if edit1.text<>'' then

    > query1.SQL.Add(' and NAME=:name1 ');

    > end

    > else if edit1.text<>'' then begin

    > query1.SQL.Add(' NAME=:name1 ');

    > end

    > else begin

    > Application.MessageBox('날짜나 이름을 입력하십시요.',

    > '찾기취소',MB_OK);

    > end;

    > if (edit24.text<>'') and (edit25.text<>'') then

    > query1.ParamByName('name').asstring:=edit24.text+edit25.text;

    > if edit1.text<>'' then

    > query1.ParamByName('name1').asstring:=edit1.Text;

    > query1.open;

    >

    > if query1.recordcount<1 then

    > Application.MessageBox('해당자가 없습니다!','찾기취소',mb_ok);

    > end;

    >

  • Profile
    hobakpa 2001.05.19 22:33
    정확하게 모라 말씀은 못드리지만..

    if (edit24.text<>'') and (edit25.text<>'') then

    begin

    query1.sql.Add(' where date=:name ');

    if edit1.text<>'' then

    query1.SQL.Add(' and NAME=:name1 ');

    end



    where date =:name

    이라했는데 :name은 어데서 파라미터를 받아와야 합니다.

    아래를 파라미터를 받긴받는데.....

    그리고 date란 넘이 아마도 디비에세 예약어로 쓰일수도 있어서 에러가

    날수 있습니다.



    에디트에 뭐가 들어 가는진 알기위해서 그러니까 쿼리상의 에러를 잡기위해서는



    shomessage(query1.sql.text);

    이넘을 오픈전에 쓰시고

    그리고 실행해보고 데이타를 넣어보고 검색해보세요..

    쿼리문에서의 틀린 에러를 잡으실수 있습니다...



    에고 도움이 되셨으면 합니다. 복잡할거 없어요..그냥 차근차근해 보시면

    에러를 잡으실거 같은데......





  • Profile
    초보 2001.05.21 21:17
    답변 대단히 감사드립니다.

    많은 도움이 된 것 같습니다.

    그런데도 제가 부족함이 많아서 또 한가지 에러를 해결하지 못하고 있습니다..

    제가 질문 드린것 중에서 ..

    date란 놈이 문제를 일으킵니다..이름(NAME)으로 검색을 할 때는 문제가 없는데

    date와 연결된 edit박스에 명령어를 입력하고 검색만 하면 invalid use of keyword란

    error가 계속 뜨는군요..

    분면 date를 인식하지 못해서 인 것 같습니다..('date :=name')

    date대신 다른 필드명을 입력할 경우는 이상이 없습니다...

    디비에서 date가 예약어로 쓰인다는 말이 무엇인지 그렇다면 정정하는 방법은 무엇인지 ........

    조언좀 부탁드립니다..즐거운 하루 되시길 바래요...

    • 류성심
    • 2001.05.20 00:32
    • 4 COMMENTS
    • /
    • 0 LIKES
    • kylix
      2001.05.20 07:27
      하나만 만들어서 Sender파라매터를 이용하세요... 20개의 에디트의 OnEnter와 OnExit를 아래 이벤트로 ...
    • 하기
      2001.05.20 00:57
      참고하세요... is 연산자를 이용하여 Component의 종류를 알수 있고요 As연산자를 이용하여 그 해당 Comp...
    • 류성심
      2001.05.20 01:30
      하기 wrote: > 참고하세요... > is 연산자를 이용하여 Component의 종류를 알수 있고요 > As연산자를 이...
    • 김일배
      2001.05.20 06:31
      TEDIT로 부터 원하는 기능을 넣어 TColorEdit와 같은 컴포넌트를 하나 만들어 등록하여 사용하면 어떨까...
    • staman
    • 2001.05.19 23:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강동희
      2001.05.21 22:47
      staman wrote: > MS액세스 프로그램에 포함되어 있는 MDB 파일을 파라독스 DB로 변환하고 싶은데요 > 실...
    • 2001.05.19 23:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김지엽
      2001.05.19 23:31
      급 wrote: > 급해서 그러는데 인스톨 쉴드를 구할수는 없을까요 > 있는곳을 가르켜 주면 후사 > 하겠습...
    • 초보
    • 2001.05.19 22:11
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 하기
      2001.05.20 00:28
      음냐리... 2.번에 and 가 하나 (' and Name = :Name1')빠진것 같군요... 이렇게요... 그리고 1번은 코딩이...
    • hobakpa
      2001.05.19 22:33
      정확하게 모라 말씀은 못드리지만.. if (edit24.text'') and (edit25.text'') then begin ...
    • 초보
      2001.05.21 21:17
      답변 대단히 감사드립니다. 많은 도움이 된 것 같습니다. 그런데도 제가 부족함이 많아서 또 한가지 에러...
    • 박영근
    • 2001.05.19 21:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2001.05.21 23:02
      안녕하세요. 최용일입니다. 수학시간에 다 배우셨을 텐데요... (X, Y)를 원점에 대한 Θ만큼 회전한 ...
    • 감초
      2001.05.20 02:22
      unit2 의 implementation 아래 부분에 uses unit1; 을 추가하세요. 전유대 wrote: > 안녕하세요? > ...
    • 송수정
      2001.05.19 18:59
      초보에용^^ wrote: > 안녕하세요.전 델파이는 완전 초보라.왜이렇게 힘든지.. > 고수님덜 좀 보시고 잘못...
    • 초보에용^^
      2001.05.21 06:31
      송수정 wrote: > 초보에용^^ wrote: > > 안녕하세요.전 델파이는 완전 초보라.왜이렇게 힘든지.. > > 고...
    • 송수정
      2001.05.19 19:03
      아기코알라 wrote: > 안녕하십니까? > 건강들 하시죠? > > 아직 정확한 답을 구하지 못해 이렇게 ...
    • 명탁
      2001.05.19 20:44
      송수정 wrote: > 아기코알라 wrote: > > 안녕하십니까? > > 건강들 하시죠? > > > > 아직 정확한 ...
    • 아기코알라
      2001.05.21 19:00
      명탁 wrote: > 송수정 wrote: > > 아기코알라 wrote: > > > 안녕하십니까? > > > 건강들 하시죠? >...
    • 김인성
    • 2001.05.19 12:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • kylix
      2001.05.20 21:10
      아마두 스탠다드버전인거 같은데 스탠다드버전에는 데이타베이스관련기능이 완전히 빠져있습니다... 프...
    • 궁그미
    • 2001.05.19 06:50
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 감초
      2001.05.20 02:28
      첫째 : "Unsatisfied forward or external declaration ...."의 에라가 난 이유는 분명히 function abc(st...
    • 블랙봉
      2001.05.19 07:42
      궁그미 wrote: > 안녕하세요.. > 오늘 궁금한 것은? > 머냐면... > 공통 유닛을 만들려구 하는데... pu...
    • 처보
    • 2001.05.19 05:21
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김한
    • 2001.05.19 04:48
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 수완
    • 2001.05.19 03:43
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최혜룡
      2001.05.19 03:54
      쉽지 않은 질문이네요 en-core.com에서 한번 물어보시죠 오라클전문가가 많더군요 수완 wrote: > ...
    • 김동수
      2001.05.19 20:33
      오라클 설치할때....언어를 선택하는 부분이 있습니다. 저는 코리언으로 설치 했구여...... 근데....다른...
    • 짱아
    • 2001.05.19 03:36
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 아폴론
      2001.05.19 04:01
      짱아 wrote: HIST_DEL은 삭제를 하는 쿼리문입니다... 프로그램을 런시켰을 경우 계속... EXECSQL; 에...
    • 강호규
      2001.06.25 19:53
      안녕하십니까 질문내용중에 사용하고 계신 DB에 대한 언급이 없네요... 트랜젝션을 지원하고 있는 DB를...
    • 짱아
      2001.05.19 20:57
      아폴론 wrote: > 짱아 wrote: > HIST_DEL은 삭제를 하는 쿼리문입니다... 프로그램을 런시켰을 경우 > ...
    • 최혜룡
      2001.05.19 04:08
      DB에서 Delete하는데 시간이 많이 걸리는 모양이네요 인덱스를 사용하는지 확인해보시죠 그리고 마지막 ...
    • 짱아
      2001.05.19 21:04
      우선 혜룡님 넘 감사해요~ 항상 늘~ ^^ 시간이 많이 걸린다면 오랜후에 처리가 되어야 하는데... 그상...
    • 최혜룡
      2001.05.20 01:53
      SQL*PLUS로 DELETE DML을 수행해보세요 (WHERE조건과 파라메터에 넘어가는 값도 상수화 해야겠죠) 삭제속...
    • 바보TT
    • 2001.05.19 03:14
    • 0 COMMENTS
    • /
    • 0 LIKES