Q&A

  • SQL문을 oracle로 보내는데 자꾸 에러가 납니다.
쿼리를 날려서 삽입하는 문장입니다.



SQLDataSet1.CommandTest := 'INSERT INTO MEHOBBY (NO, LIST) VALUES (:pNO, :pLIST)';

SQLDataSet1.ParamByName('pNO').AsInteger := StrToInt(Edit1.Text);

SQLDataSet1.ParamByName('pLIST'),AsString := Edit2.Text;

SQLDataSet1.ExecSQL;



이문장인데



컴파일에러는 안떨어지는데 실제 돌리면



필드 타입이 맞지 않다고 나옵니다



NO integer타입 부분을 빼고 LIST string 타입부분만 넣으면



삽입이 잘되거든요.



이방법 저방법 써봐도 안됩니다... 도와주세요..



물론 ParamCheck는 True 시켜둔 상태구요



integer가 들어간 쿼리문 날리기가 까다롭네요

1  COMMENTS
  • Profile
    델킷 2001.12.01 00:50
    sunsung wrote:

    > 쿼리를 날려서 삽입하는 문장입니다.

    >

    > SQLDataSet1.CommandTest := 'INSERT INTO MEHOBBY (NO, LIST) VALUES (:pNO, :pLIST)';

    > SQLDataSet1.ParamByName('pNO').AsInteger := StrToInt(Edit1.Text);

    > SQLDataSet1.ParamByName('pLIST'),AsString := Edit2.Text;

    > SQLDataSet1.ExecSQL;

    >

    > 이문장인데

    >

    > 컴파일에러는 안떨어지는데 실제 돌리면

    >

    > 필드 타입이 맞지 않다고 나옵니다

    >

    > NO integer타입 부분을 빼고 LIST string 타입부분만 넣으면

    >

    > 삽입이 잘되거든요.

    >

    > 이방법 저방법 써봐도 안됩니다... 도와주세요..

    >

    > 물론 ParamCheck는 True 시켜둔 상태구요

    >

    > integer가 들어간 쿼리문 날리기가 까다롭네요



    AsInteger 대신 Value를 써보세요.

    AsInteger는 값을 읽어오는 경우에 쓰이고 값을 넣는 경우에는 Value를 쓰는걸로

    알고 있습니다.