Q&A

  • missing rigth quote error 도와주세요 급해요..흑흑
db에 insert를 하려고 하는데 다음과 같은 에러가 납니다

문자 처리는 싱클 쿼테이션 마크로 제대로 처리를 한 것 같은데

왜 에러가 나는지 모르겠네요

소스가요



생략...

query1.close;

query1.sql.clear;

query1.sql.add('insert into mob.itm_mob_dlv_cpl (wbl_no,dlv_end_dt,dlv_end_hms,insuer_r,insuer_nm,gb) values (''' + wbl_no + ''',''' + dlv_end_dt + ''',''' + dlv_end_hms + ''',''' + insuer_r + ''',''' +insuer_nm + ''',''' + gb + ''')');

query1.ExecSQL ;

생락....

예를들어 파라미터로 넘어온 변수에 저장된 값이...sting이므로

쿼리를 던질 때 '' 변수명 '' (싱클 쿼테이션 두개)으로 처리를 했는데

다른 처리가 필요한가요??

부탁드립니다..급해서요

4  COMMENTS
  • Profile
    류종택 2001.07.24 22:27
    오랫만에 들렸다가 급하시다니까..^^



    우선 왜 Dynamic SQL을 사용하시지 않는 건지 모르겠네욤..

    Query.SQL.Text:= 'Insert into TableName (Field1, Field2) Values :Value1, :Value2)';

    Query.ParamByName('Value1').AsString:= 'Test';

    Query.ParamByName('Value2').AsInteger:= 0;

    Query.ExecSQL;

    와 같은 형식입니다.

    보기에도 깔끔하고..



    따옴표 갯수세다가 지쳐서 다른 방법을 알려드립니다..



    그리고 델파이 책 한권쯤은 분명 가지고 계시겠지요??

    Dynamic SQL에 대해서 좀 봐두심이 좋을 듯 합니다..





    From 류..



    초보 wrote:

    > db에 insert를 하려고 하는데 다음과 같은 에러가 납니다

    > 문자 처리는 싱클 쿼테이션 마크로 제대로 처리를 한 것 같은데

    > 왜 에러가 나는지 모르겠네요

    > 소스가요

    >

    > 생략...

    > query1.close;

    > query1.sql.clear;

    > query1.sql.add('insert into mob.itm_mob_dlv_cpl (wbl_no,dlv_end_dt,dlv_end_hms,insuer_r,insuer_nm,gb) values (''' + wbl_no + ''',''' + dlv_end_dt + ''',''' + dlv_end_hms + ''',''' + insuer_r + ''',''' +insuer_nm + ''',''' + gb + ''')');

    > query1.ExecSQL ;

    > 생락....

    > 예를들어 파라미터로 넘어온 변수에 저장된 값이...sting이므로

    > 쿼리를 던질 때 '' 변수명 '' (싱클 쿼테이션 두개)으로 처리를 했는데

    > 다른 처리가 필요한가요??

    > 부탁드립니다..급해서요

  • Profile
    초보 2001.07.24 23:17
    파라미터로 해서 넘기니까 insert가 안대서...직접 입력을 한거거든요

    (파라미터가 제대로 안넘어 갈때가 있다고 해서)

    어쨌든 님께서 알려주신 대로 해도 계속 missing...

    에러가 계속 뜨네요...흑흑

  • Profile
    송병철 2001.07.24 23:51
    급하시다고 하니 쩝..



    위에 알려주신분이나, 님이 하신 방법은 틀린것이 없는걸로 압니다만,



    가끔 Missing.. 어쩌고 저쩌고 할때 델파이 에디터에서 오른쪽으로 스크롤바를 쭉 땡기다보면 ";" 문장 뒤에 " ' " <--요놈이 있을겁니다. 보이세요? ^^



    한번 에디터를 전체 크게 해서 보세요...그러면 눈 크게 뜨시고,,



    만약 그래도 없을경우

    Insert 문장 그대로 오라클의 Sql Plus에 입력해보면 어는줄에 Missing에러인지 금방 알 수있습니다. 물론 변수값은 직접 텍스트값으로 입력해주셔야겠지요.



    그럼 꼭 찾기를.......

  • Profile
    초보 2001.07.25 07:07
    답변해주신 분들 감사드리구요....

    꼼꼼히 살펴보니...제가 실수한게 아니구...

    (지금 제가 소켓통신을 하는데)

    클라이언트에서 데이타를 잘못보내서...자르는데 에러가 나서...발생한 문제였습니다..

    감사드리구요...

    장마철 폭우 조심하셔요...^^