работа со вторичным рынком. . myyaroslavl.ru . биография знаменитостей
Автор: admin | 14.12.2007 | 2:14 | В рубриках: Базы данных

Вся хитрость заключается в использовании StrPcopy (помещения вашей строки в PChar) и записи буфера в поток. Вы не сможете передать это в PChar непосредственно, поскольку ему нужен буфер, поэтому для получения необходимого размера буфера используйте [0] и StrLen().

Вот пример использования TMemoryStream и записи его в Blob-поле:

var
cString: string;
oMemory: TMemoryStream;
Buffer: PChar;
begin
cString := ‘Ну, допустим, хочу эту строку!’;

{ СОздаем новый поток памяти }
oMemory := TMemoryStream.Create;

{!! Копируем строку в PChar }
StrPCopy(Buffer, cString);

{ Пишем =буфер= и его размер в поток }
oMemory.Write(Buffer[0], StrLen(Buffer));

{Записываем это в поле}
< Blob / Memo / GraphicFieldName > .LoadFromStream(oMemory);

{ Необходимо освободить ресурсы}
oMemory.Free;
end;

Эта запись была опубликована 14.12.2007в 14:41. В рубриках: Базы данных. Вы можете следить за ответами к этой записи через RSS 2.0. Комментарии пока закрыты, но Вы можете оставить трекбек со своего сайта.