Запись потока в BLOB-поле

Советы » Записи, индексы, поля, закладки » Запись потока в BLOB-поле

Вся хитрость заключается в использовании 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

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2023 - All Rights Reserved - www.delphirus.com