Использую БД Access + Делфи. В Таблице есть допустим поле DOCS. DOCS - это массив записей (record).
LineNum : Integer; |
DocGUID : String[128];
DocumentNumber : String[30];
DocumentNumberAuto : Integer;
DocumentDate : TDate;
вот вопрос как считать BLOB поле?
Есть спецы? Примеры можно на делфи, так и на других языках
+ дополнение. У кого есть СЭД Казначейство, взгляните на таблицу DOCDB поле DOCS. Вот мне нужно это поле считать. Я дошел до того, что поле было архивировано. Распаковал. В данном поле хранится массив. Начало структуры выше.
BLOB поля в БД.
Модератор: Модераторы
BLOB поля в БД.
Последний раз редактировалось Cruel 25 янв 2011, 20:23, всего редактировалось 1 раз.
ASUS P5Q DELUXE + Q9400
- Marugr
- UGUGUROV
- Сообщения: 655
- Зарегистрирован: 03 дек 2005, 10:28
- Откуда: ГОРНО-АЛТАЙСК
- Контактная информация:
Re: BLOB поля в БД.
толком не понял что нужно конкретно, вот вариант работы с блобами через стреам
Код: Выделить всё
procedure SaveToField(FField:TBlobField;Form:TComponent);
var
Stream: TBlobStream;
FormName: string;
begin
FormName := Copy(Form.ClassName, 2, 99);
Stream := TBlobStream.Create(FField, bmWrite);
try
Stream.WriteComponentRes(FormName, Form);
finally
Stream.Free;
end;
end;
procedure LoadFromField(FField:TBlobField;Form:TComponent);
var
Stream: TBlobStream;
I: integer;
begin
try
Stream := TBlobStream.Create(FField, bmRead);
try
{удаляем все компоненты}
for I := Form.ComponentCount - 1 downto 0 do
Form.Components[I].Free;
Stream.ReadComponentRes(Form);
finally
Stream.Free;
end;
except
on EFOpenError do {Что-то};
end;
end;
- cyberone
- ветеран
- Сообщения: 447
- Зарегистрирован: 17 мар 2005, 20:35
- Откуда: от Верблюда
- Контактная информация:
Re: BLOB поля в БД.
Ну и для экзерсиза я бы посоветовал сравнить доступ к данным в блобах и просто в файловой системе на расчётном количестве записей.
оружие российского производства самое убийственное, что опять же, в очередной раз, свидетельствует о злобности русских военных конструкторов, агрессивности военных и вообще всех ...