Q&A

  • 엄청엄청 긴 문자를 저장하려고 합니다만..
디비는 MS-SQL로 필드타입은 TEXT구요..

저장하려는 메모의 길이가 문자1000자 정도 됩니다. 더 길 수도 있어요...

ParamByName('memo').??? := Memo_MMO.Text;

여기서 ???는 무엇을 넣어야하나요??

AsString를 넣었더니 글자가 깨지고, AsMemo를 넣어더니 글자가 잘리더군요..

이것보다 큰 문자를 넣는 건 없나요??? 제가 다른것도 해봤는데 잘 안되서 이렇게 글을 올립니다... 그럼 모두모두 행복하세요~~ ^^
5  COMMENTS
  • Profile
    와니^^* 2004.04.21 11:50


    Memo_MMO.Text가 TMemo형이면
    ParamByName('memo').Assign(Memo_MMO.Lines);
  • Profile
    너구리 2004.04.20 21:03
    Set AsBlob to assign the value for a Blob field to the parameter. AsBlob takes a TBlobData value, which is an untyped string of bytes. Setting AsBlob sets the DataType property to ftBlob.

    For example, if the variable Buffer is of type PChar and contains binary data read from a file, the contents of Buffer are directly assigned to the BLOB parameter using the AsBlob property:

    asblob의 헬프입니다. 테이블의 필드의 타입이 blob일때 쓰는거다 라고는

    보이지 않는군요..

    그래도 안되시면 BDE에서 blob size하고 blobs to cache를 고쳐 보세요.

    아마 32, 64 이걸 제가 더 늘려 줬던 기억도 납니다..

  • Profile
    KDDG_Cali 2004.04.20 20:44
    asBlob는 필드타입이 blob일때 사용합니다.

    필드타입이 TEXT라면 asstring 이 맞는데
    문제는 256 byte 밖에 저장을 못합니다.
    (오라클의 경우입니다. MS-SQL도 마찬가지일듯)

    blob을 쓸 경우 짜증나는 경우가 많아
    저 같은경우 TEXT필드를 4개 이상 만들어서
    255byte씩 잘라서 넣고 있어요..






  • Profile
    너구리 2004.04.20 20:36
    저도 이번에 아주 긴 문자열을 입력했는데요..

    디비는 오라클이었구요..

    그때도 잘렸었는데요..

    님께서 지적하신 부분하고

    파라미터의 타입을 바꿔서 해결했거든요..

    지금 잘 기억은 안나지만..

    asmemo 이외에 asblob 도 있을겁니다.

    그리고 근본적으로 파라미터의 타입도 바꿔줘 보세요..

  • Profile
    유카 2004.04.20 20:37