파라독스 디비를 사용하던 중에 데이터를 메모 필드에 저장하게 되었습니다.
저장시(Insert)에 FieldByName('data').AsMemo 로 저장을 했습니다.
DB-Explorer로 들어간 데이터를 살펴봤는데, 아무 이상없이 잘 수행되었습니다.
그런데, 문제는 데이터의 입력은 잘 되었는데... 읽어오는데 문제가 발생했습니다.
데이터가 255가 넘어가면, 읽어오지를 못하더군요...
게시판에서 관련된 자료를 찾아 보려고 했도, 비슷한 질문을 찾을 수가 없어서
이렇게 질문 드립니다.
고수분들의 도움 바랍니다.
그럼, 아래는 소스 첨부입니다.
======================================================================
저장(Insert)
query:=TQuery.Create(nil);
query.DatabaseName:=('form_data');
...
query.ParamByName('form_data').AsMemo:=macro.form_data;
query.ExecSQL;
...
query.Close;
query.Free
읽기(Select)
query:=TQuery.Create(nil);
query.DatabaseName:=('form_data');
...
memo1.Text:=query.FieldByName('data').AsString;
...
query.Close;
query.Free
참, 그래서 AsString에 문제가 있는건 아닌가 해서 TDBMemo를 사용해 보기도
했지만, 결과는 마찬가지더군요...
> 파라독스 디비를 사용하던 중에 데이터를 메모 필드에 저장하게 되었습니다.
> 저장시(Insert)에 FieldByName('data').AsMemo 로 저장을 했습니다.
> DB-Explorer로 들어간 데이터를 살펴봤는데, 아무 이상없이 잘 수행되었습니다.
>
> 그런데, 문제는 데이터의 입력은 잘 되었는데... 읽어오는데 문제가 발생했습니다.
> 데이터가 255가 넘어가면, 읽어오지를 못하더군요...
> 게시판에서 관련된 자료를 찾아 보려고 했도, 비슷한 질문을 찾을 수가 없어서
> 이렇게 질문 드립니다.
>
> 고수분들의 도움 바랍니다.
> 그럼, 아래는 소스 첨부입니다.
>
> ======================================================================
>
> 저장(Insert)
>
>
>
> query:=TQuery.Create(nil);
> query.DatabaseName:=('form_data');
>
> ...
> query.ParamByName('form_data').AsMemo:=macro.form_data;
> query.ExecSQL;
> ...
>
> query.Close;
> query.Free
>
>
> 읽기(Select)
> query:=TQuery.Create(nil);
> query.DatabaseName:=('form_data');
>
>
> ...
> memo1.Text:=query.FieldByName('data').AsString;
> ...
>
> query.Close;
> query.Free
>
>
> 참, 그래서 AsString에 문제가 있는건 아닌가 해서 TDBMemo를 사용해 보기도
> 했지만, 결과는 마찬가지더군요...
>
일단 답변이 될지는 모르겠지만..
프로젝트 옵션에서 보시면 Compiler에서 huge strings이라는 것이 있을 것입니다.
거기에 체크가 안 되어 있으면 체크를 하시면 될 것 같은데요.
String을 따로 Short로 쓰셔야 된다면 다른 방법을 알아 보셔야 할 것 같구여.
그럼.