Q&A

  • SQL문 이용해서 Memo Field에값을 넣으려면?
급히 선배님들에게 조언을 구합니다.



다름이 아니라 DB(InterBase)에 TABLE이 구성되어 있고,

Field중에 자료형식이 Memo형식인 Field가 있습니다.



Control을 이용해서 화면에 표시를 하면 표시가 잘 됩니다.

또한 TABLE Control을 사용해서 수정, 편집, 삭제 작업을하면

잘 됩니다. ^.^...(그럼 뭐가 문제냐구요?)



문제는 TABLE Control을 사용하지 않고 Query Control을 사용해서

작업을 해야 하기 때문입니다.



Query Control을 사용해서 TABLE에서 자료를 선택해서 화면에

표시를 해 줍니다.

그리고 Update Control을 사용해서 삽입, 수정, 삭제를 합니다.



Update Control의 InsertSQL, ModifySQL, DeleteSQL에 SQL문을

넣어서 전달인수 넘기는 방식으로 사용을 하는데 일반 Field들은

아무 이상없이 잘 수행 되나 Memo Field가 존재하는 경우에는

SQL문이 수행이 되지 않고 Error가 화면에 표시 됩니다.



자료 형식이 맞지 않다고 화면에 표시됩니다.(Blob형식인데 string를 넣으려고 했다.)



위와 같은 문제가 발생해서 여러 선배님들께 조언을 구하려고

합니다. 급한 건이라서 누구든 조금이라도 답을 부탁 드리겠습니다.



P.S : SQL문을 이용해서 Blob자료 형식을 다룰수 없다면 어떻게

해야 되죠?...

TABLE Control을 사용하면 너무 느려서 작업을 하기가

곤란 합니다.

위와 같이 Query, UpdateSQL Control을 사용하지 않고

처리하는 방법이 존재하는지요...



Blob형식 왜이리 어렵죠.. ㅠ.ㅠ

2  COMMENTS
  • Profile
    나두초보~~ 2001.11.09 19:14
    요렇게 해 보시죠.. ^_^;;

    아마 될것입니다.

    쿼리문.. insert into a (b) values (:b)



    with query do begin

    close;

    clear;

    sql.add(str);

    parambyname('b').asmemo := memo.lines.text;

    execsql;

    end;



    구럼 휘리릭~~~~~~~~~~



    한대성 wrote:

    > 급히 선배님들에게 조언을 구합니다.

    >

    > 다름이 아니라 DB(InterBase)에 TABLE이 구성되어 있고,

    > Field중에 자료형식이 Memo형식인 Field가 있습니다.

    >

    > Control을 이용해서 화면에 표시를 하면 표시가 잘 됩니다.

    > 또한 TABLE Control을 사용해서 수정, 편집, 삭제 작업을하면

    > 잘 됩니다. ^.^...(그럼 뭐가 문제냐구요?)

    >

    > 문제는 TABLE Control을 사용하지 않고 Query Control을 사용해서

    > 작업을 해야 하기 때문입니다.

    >

    > Query Control을 사용해서 TABLE에서 자료를 선택해서 화면에

    > 표시를 해 줍니다.

    > 그리고 Update Control을 사용해서 삽입, 수정, 삭제를 합니다.

    >

    > Update Control의 InsertSQL, ModifySQL, DeleteSQL에 SQL문을

    > 넣어서 전달인수 넘기는 방식으로 사용을 하는데 일반 Field들은

    > 아무 이상없이 잘 수행 되나 Memo Field가 존재하는 경우에는

    > SQL문이 수행이 되지 않고 Error가 화면에 표시 됩니다.

    >

    > 자료 형식이 맞지 않다고 화면에 표시됩니다.(Blob형식인데 string를 넣으려고 했다.)

    >

    > 위와 같은 문제가 발생해서 여러 선배님들께 조언을 구하려고

    > 합니다. 급한 건이라서 누구든 조금이라도 답을 부탁 드리겠습니다.

    >

    > P.S : SQL문을 이용해서 Blob자료 형식을 다룰수 없다면 어떻게

    > 해야 되죠?...

    > TABLE Control을 사용하면 너무 느려서 작업을 하기가

    > 곤란 합니다.

    > 위와 같이 Query, UpdateSQL Control을 사용하지 않고

    > 처리하는 방법이 존재하는지요...

    >

    > Blob형식 왜이리 어렵죠.. ㅠ.ㅠ

  • Profile
    한대성 2001.11.10 04:48
    정말 감사합니다..

    님 덕분에 쉽게 마무리 할 수 있었습니다.



    간단한 문제를 참 어렵게 생각했던것 갔습니다..

    다른 분들도 같은 문제로 고생하시면 여기서 해결

    할 수 있길 빕니다.



    나두초보~~ wrote:

    > 요렇게 해 보시죠.. ^_^;;

    > 아마 될것입니다.

    > 쿼리문.. insert into a (b) values (:b)

    >

    > with query do begin

    > close;

    > clear;

    > sql.add(str);

    > parambyname('b').asmemo := memo.lines.text;

    > execsql;

    > end;

    >

    > 구럼 휘리릭~~~~~~~~~~

    >

    > 한대성 wrote:

    > > 급히 선배님들에게 조언을 구합니다.

    > >

    > > 다름이 아니라 DB(InterBase)에 TABLE이 구성되어 있고,

    > > Field중에 자료형식이 Memo형식인 Field가 있습니다.

    > >

    > > Control을 이용해서 화면에 표시를 하면 표시가 잘 됩니다.

    > > 또한 TABLE Control을 사용해서 수정, 편집, 삭제 작업을하면

    > > 잘 됩니다. ^.^...(그럼 뭐가 문제냐구요?)

    > >

    > > 문제는 TABLE Control을 사용하지 않고 Query Control을 사용해서

    > > 작업을 해야 하기 때문입니다.

    > >

    > > Query Control을 사용해서 TABLE에서 자료를 선택해서 화면에

    > > 표시를 해 줍니다.

    > > 그리고 Update Control을 사용해서 삽입, 수정, 삭제를 합니다.

    > >

    > > Update Control의 InsertSQL, ModifySQL, DeleteSQL에 SQL문을

    > > 넣어서 전달인수 넘기는 방식으로 사용을 하는데 일반 Field들은

    > > 아무 이상없이 잘 수행 되나 Memo Field가 존재하는 경우에는

    > > SQL문이 수행이 되지 않고 Error가 화면에 표시 됩니다.

    > >

    > > 자료 형식이 맞지 않다고 화면에 표시됩니다.(Blob형식인데 string를 넣으려고 했다.)

    > >

    > > 위와 같은 문제가 발생해서 여러 선배님들께 조언을 구하려고

    > > 합니다. 급한 건이라서 누구든 조금이라도 답을 부탁 드리겠습니다.

    > >

    > > P.S : SQL문을 이용해서 Blob자료 형식을 다룰수 없다면 어떻게

    > > 해야 되죠?...

    > > TABLE Control을 사용하면 너무 느려서 작업을 하기가

    > > 곤란 합니다.

    > > 위와 같이 Query, UpdateSQL Control을 사용하지 않고

    > > 처리하는 방법이 존재하는지요...

    > >

    > > Blob형식 왜이리 어렵죠.. ㅠ.ㅠ