Q&A

  • sql문 이용하여 데이타 삽입시 에러....
DBgrid에 data를 삽입하려 하는데

Project Progect1.exe raised exception class EDBEngindError with

message 'Invalid use of keyword.

Token:insert

Line Number: 3'.Process stoppen.Use Step or Run to continue.

라는 에러가 납니다. coding은 아래에 있고 프로그램은 압축했습니다.

해결 좀 해주세요...



procedure TForm2.DB_Input;

begin

with form1 do

begin

//n, a, n, a, d

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

query1.ParamByName('N2').asstring := edit2.Text;

query1.ParamByName('N3').asstring := edit3.Text;

query1.ParamByName('N4').asstring := edit4.Text;

query1.ParamByName('N5').asstring := edit5.Text;

end;

end;



procedure TForm2.BitBtn1Click(Sender: TObject);

begin

if (edit1.Text = '') or (edit2.Text = '') or (edit3.Text = '')

or (edit4.Text = '') or (edit5.Text='') then

begin

application.MessageBox('입력을 다시 확인 하세요!','입력오류',MB_OK);

end

else

begin

with form1 do

begin

query1.sql.Add('insert into 만화책');

query1.SQL.Add('(no, name, book, address, date)');

query1.sql.Add('values');

query1.sql.Add('( :N1,');

query1.sql.Add(' :N2,');

query1.sql.Add(' :N3,');

query1.sql.Add(' :N4,');

query1.sql.Add(' :N5)');

DB_Input;

end;

form1.Query1.ExecSQL;<=====이부분에서 error가 납니다. 해결 좀 해주세요

end;



end;





3  COMMENTS
  • Profile
    이호선 1999.05.04 01:31
    안녕하세요.

    character(1자)를 Hexadecimal값으로 변경할려고 합니다.

    어떻게 해야 하는지요

  • Profile
    조복기 1999.07.15 19:02


    안녕하세요..조복기입니다..



    비가 오니까 시원해서 좋네요..

    제생각엔 sql.add만 있고 그전에 clear문장이 없어서 에러가

    난것같기도 하고.. (여러번 수행하면 SQL문이 쌓여서..)



    만약 같은에러가 난다면

    sql문을 변수에 담아두고 한번에 add를 시켜서 실행해보세요..

    그전에 변수값을 디버깅과정을 통해 어떻게 sql문이

    완성되었는지도 확인하시구요..



    그리고 Execsql작업하기전에 Try..Except(예외처리) 시켜주시면

    좋겠죠?...



    좋은하루되세요..





    procedure TForm2.BitBtn1Click(Sender: TObject);

    begin

    if (edit1.Text = '') or (edit2.Text = '') or (edit3.Text = '')

    or (edit4.Text = '') or (edit5.Text='') then

    begin

    application.MessageBox('입력을 다시 확인 하세요!','입력오류',MB_OK);

    exit;

    end;



    with Query1 do

    begin

    if Active then Close;

    SQL.Clear;

    SQL.Add('insert into 만화책');

    SQL.Add('(no, name, book, address, date)');

    SQL.Add('values');

    SQL.Add('( :N1,:N2,:N3,:N4,:N5)');

    ParamByName('N1').asstring := Trim(edit1.Text);

    ParamByName('N2').asstring := Trim(edit2.Text);

    ParamByName('N3').asstring := Trim(edit3.Text);

    ParamByName('N4').asstring := Trim(edit4.Text);

    ParamByName('N5').asstring := Trim(edit5.Text);

    ExecSQL;

    end;

    end;









    배동진 께서 말씀하시기를...

    > DBgrid에 data를 삽입하려 하는데

    > Project Progect1.exe raised exception class EDBEngindError with

    > message 'Invalid use of keyword.

    > Token:insert

    > Line Number: 3'.Process stoppen.Use Step or Run to continue.

    > 라는 에러가 납니다. coding은 아래에 있고 프로그램은 압축했습니다.

    > 해결 좀 해주세요...

    >

    > procedure TForm2.DB_Input;

    > begin

    > with form1 do

    > begin

    > //n, a, n, a, d

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

    > query1.ParamByName('N2').asstring := edit2.Text;

    > query1.ParamByName('N3').asstring := edit3.Text;

    > query1.ParamByName('N4').asstring := edit4.Text;

    > query1.ParamByName('N5').asstring := edit5.Text;

    > end;

    > end;

    >

    > procedure TForm2.BitBtn1Click(Sender: TObject);

    > begin

    > if (edit1.Text = '') or (edit2.Text = '') or (edit3.Text = '')

    > or (edit4.Text = '') or (edit5.Text='') then

    > begin

    > application.MessageBox('입력을 다시 확인 하세요!','입력오류',MB_OK);

    > end

    > else

    > begin

    > with form1 do

    > begin

    > query1.sql.Add('insert into 만화책');

    > query1.SQL.Add('(no, name, book, address, date)');

    > query1.sql.Add('values');

    > query1.sql.Add('( :N1,');

    > query1.sql.Add(' :N2,');

    > query1.sql.Add(' :N3,');

    > query1.sql.Add(' :N4,');

    > query1.sql.Add(' :N5)');

    > DB_Input;

    > end;

    > form1.Query1.ExecSQL;<=====이부분에서 error가 납니다. 해결 좀 해주세요

    > end;

    >

    > end;

    >

    >





  • Profile
    이정욱 1999.05.04 02:17
    만약 C가 Char형이고 HexStr이 스트링형라면...



    HexStr := IntToHex(IntToStr(Ord(C)),2);



    위처럼 해보세요.



    이호선 wrote:

    > 안녕하세요.

    > character(1자)를 Hexadecimal값으로 변경할려고 합니다.

    > 어떻게 해야 하는지요





    • BDS
    • 1999.07.15 22:24
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김영애
    • 1999.05.04 05:26
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하윤철
      1999.05.04 23:12
      김영애 wrote: > 이것을 함으로써 보고서가 어렵다는 것을 다시한번 느꼈습니다.. > 이것을 테이블 4개를...
    • rain
      1999.05.04 05:34
      저는 그와 같은 상황에서는 일종의 View를 만들어서 해결합니다. 아니면, 폼의 내용과는 상관없는 SQL...
    • 안류진
    • 1999.07.15 22:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 1999.07.15 23:20
      안류진 께서 말씀하시기를... > 안녕하세요! 저는 현재 SQL SERVER,SYSBASE를 사용하고 있습니다. > > ...
    • rain
      1999.05.04 05:26
      김유호 wrote: > 디베이스 파이일로 윈 98에서 작업한 프로그램을 공유하여 사용하여보고 있는데 랜으로 ...
    • 안치봉
      1999.07.15 22:51
      WM_SYSCOMMAND 메세지를 사용하세요. if M.WParam = SC_CLOSE then begin M.Result := 0; end e...
    • 박회연
    • 1999.05.03 18:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • rain
      1999.05.04 05:21
      박회연 wrote: > BDE/ODBC 에 대한 ..... > > Borland Delphi Engin 이 무엇을 하고 어떻게 활용을 해...
    • 솔잎
    • 1999.07.15 21:12
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 고혜정
    • 1999.05.04 04:04
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 김장현
      1999.07.15 20:29
      Acd-see를 사용 해 보신 분은 thumbnail기능을 알고 계실 것입니다. Acd-see의 thumbnail은 기존의 이미지...
    • 변대섭
      1999.05.04 06:10
      고혜정 wrote: > 안녕하세용... 궁금한점이 또있어 이렇게 보냅니다. > 폼이 보일때, combobox에 있는 리...
    • 글쎄요
      1999.07.15 21:43
      여기에 가보셔요. 참고가 되실 겁니다. http://www.efg2.com/Lab/
    • 안치봉
      1999.05.04 06:02
      고혜정 wrote: > 안녕하세용... 궁금한점이 또있어 이렇게 보냅니다. > 폼이 보일때, combobox에 있는 리...
    • rain
      1999.05.04 05:31
      고혜정 wrote: > 안녕하세용... 궁금한점이 또있어 이렇게 보냅니다. > 폼이 보일때, combobox에 있는 리...
    • 고혜정
    • 1999.05.04 03:54
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김민오
      1999.07.15 20:11
      변수의 값을 원하는 소숫점자리수 만큼 반올림하는 공식을 가르쳐 주세요. Round는 소숫점 첫자리만 되는...
    • 신인재
      1999.05.04 06:20
      고혜정 wrote: > 안녕하세요. DBGrid의 값을 저장 하는방법을 알고싶은데... > 제가 알고 싶은 것은 DBGi...
    • 글쎄요
      1999.07.15 21:35
      김민오 께서 말씀하시기를... > 변수의 값을 원하는 소숫점자리수 만큼 반올림하는 공식을 가르쳐 주세요....
    • 박태식
    • 1999.05.04 03:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.05.04 05:59
      박태식 wrote: > delphi에서 디렉토리의 속성을 변경시키는 부분을 알고 싶습니다. > 아시는 분은 조금 ...
    • 조복기
    • 1999.07.15 19:53
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 안명호
      1999.05.03 19:13
      델파이 IDE의 에디터 창의 왼쪽에 생기던 거터가 언제부턴가 생기지 않아요.. 예전에 윈도우 95 상에서 ...
    • 안치봉
      1999.07.15 21:24
      안녕하세요. 팝업메뉴가 팝업될대는 절대적 위치의 값을 받습니다. 스피드버턴의 마우스다운에서 넘...
    • 안치봉
      1999.05.04 03:08
      안명호 wrote: > 델파이 IDE의 에디터 창의 왼쪽에 생기던 > 거터가 언제부턴가 생기지 않아요.. > 예전...
    • 조복기
      1999.07.15 22:52
      테스트는 아직 해보질않았지만 친절한 답변 감사합니다.. 좋은하루되세요..
    • 글쎄요
      1999.07.15 20:16
      GetCursorPos()함수를 사용하셔요. 그럼..
    • 배재민
    • 1999.05.04 03:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 나금보
      1999.07.15 19:22
      안녕하세요? 질문이 있어 이렇게 글을 올립니다. 저는 ListView의 Properties에서 ViewStyle은 vsRepor...
    • 신인재
      1999.05.04 06:30
      배재민 wrote: > 에러 메시지 중 다음 에러는 무었때문에 발생을 합니까 ? > > 'No user transaction i...
    • 김종환
    • 1999.07.15 10:31
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 정인철
      1999.05.03 23:11
      스트링그리드에서 키를 입력할시 기본적으로 세팅되어있는 키입력에 대한 처리기능을 없애고 새롭게 다시...
    • 이창남
      1999.07.15 18:16
      김종환 께서 말씀하시기를... > 스트링 그리드에서 마우스로 선택한, 즉 포커스를 가지고 있는 셀의 > 내...
    • 이정욱
      1999.05.04 02:19
      StringGrid의 OnKeyDown이벤트에서 Key := 0; 로 해버리시면 키가 다 무시됩니다. 단 Key := 0로 해주...
    • 김종환
      1999.07.15 19:41
      감사 합니다. -----------------------답변에 내이름이 많이 오르는 그날을 위해-----
    • 이용일
    • 1999.07.15 10:30
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.05.04 01:31
      안녕하세요. character(1자)를 Hexadecimal값으로 변경할려고 합니다. 어떻게 해야 하는지요
    • 이정욱
      1999.07.15 19:25
      정수형 숫자를 스트링으로 바꾸는것~ IntToStr 그반대는 StrToInt 실수형(소수점)숫자를 ...
    • 이정욱
      1999.05.04 02:17
      만약 C가 Char형이고 HexStr이 스트링형라면... HexStr := IntToHex(IntToStr(Ord(C)),2); 위처럼 해...
    • 배동진
    • 1999.07.15 08:24
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 한재아
      1999.05.04 00:38
      프로그램사용중 원하는 데이타를 상대방에게 FAX로 보내려면 어떻게 하면 되죠
    • 김상영
      1999.07.15 10:28
      배동진 께서 말씀하시기를... > query를(데이타입력시) 사용후 자동으로 db의 데이타번호를 자동으로 삽입...
    • 이정욱
      1999.05.04 02:14
      팩스를 보내시려면 팩스를 지원하는 컴포넌트를 사용하셔야 합니다. 공개된것은 없습니다... 상용을 사셔...
    • 배동진
    • 1999.07.15 08:13
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.05.04 01:31
      안녕하세요. character(1자)를 Hexadecimal값으로 변경할려고 합니다. 어떻게 해야 하는지요
    • 조복기
      1999.07.15 19:02
      안녕하세요..조복기입니다.. 비가 오니까 시원해서 좋네요.. 제생각엔 sql.add만 있고 그전에 clear...
    • 이정욱
      1999.05.04 02:17
      만약 C가 Char형이고 HexStr이 스트링형라면... HexStr := IntToHex(IntToStr(Ord(C)),2); 위처럼 해...
    • 한재아
    • 1999.05.04 00:38
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김종호
      1999.07.15 07:59
      전번에 올렸는데 그냥 지나가서요~ ^^; 라이센스 제한을 하는 프로그램을 짜보려고 하거든요.. 제가 정한...
    • 이정욱
      1999.05.04 02:14
      팩스를 보내시려면 팩스를 지원하는 컴포넌트를 사용하셔야 합니다. 공개된것은 없습니다... 상용을 사셔...