FAQ - Вопросы - ответы - советы - Базы данных
Вопрос:
Как записать в BLOB поле большой текст (>255) из DELPHI?
Ответ:
VAR S: TBLOBSTREAM;
B: POINTER;
C: INTEGER;
TABLE1.EDIT;
S := TBLOBSTREAM.CREATE(TABLE1BLOBFIELD AS TBLOBFIELD, BMWRITE); {кажется, так}
C := S.WRITE(B, C);
TABLE1.POST;
S.DESTROY;
или так
VAR S: TMEMORYSTREAM;
B: POINTER;
C: INTEGER;
S := TMEMORYSTREAM.CREATE;
...
TABLE1.EDIT;
S.CLEAR;
S.SETSIZE(C);
C := S.WRITE(B,C);
(TABLE1BLOBFIELD AS TBLOBFIELD).LOADFROMSTREAM(S);
S.CLEAR;
TABLE1.POST;
...
S.DESTROY;
