Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / помогите витянуть BLOB данные / 5 сообщений из 5, страница 1 из 1
23.04.2002, 15:01
    #32028579
AlexG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите витянуть BLOB данные
что может послужить причиной ошибки: "invalid class typecast" !!!!

в процедуре где SmartQuery2 возвращает одну запись с обязательным полем IMAGE - в котором в BLOB формате записан bmp -ризунок.

procedure TForm1.Button1Click(Sender: TObject);
var
Stream1: TBlobStream;
begin
SmartQuery2.Active:=true;
Stream1:= TBlobStream.Create(SmartQuery2.FieldByName('IMAGE') As TBlobField, bmRead);
Image1.Picture.Bitmap.LoadFromStream(Stream1);
Stream1.Free;
end;
...
Рейтинг: 0 / 0
15.05.2002, 09:16
    #32030174
Vital
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите витянуть BLOB данные
Я делал так (для маленьких текстовых файлов меньших 1К):

procedure TMainF.ToBaseBClick(Sender: TObject);
var
MS:tMemoryStream;
bsize:longint;
i:integer;
buf:array[1..1024]of byte;
begin
MS:=tMemoryStream.Create;
InsQ.Parameters.ParamByName('Name').Value:=FirmE.Text;
InsQ.Parameters.ParamByName('FileName').Value:=FromFE.Text;
if MainFS = nil then
MainFS:=tFileStream.Create(FromFE.Text,fmOpenRead);
repeat
bsize:=MainFS.Read(buf,SizeOf(buf));
MS.Write(buf,bsize);
until bsize <> SizeOf(buf);
tParameter(InsQ.Parameters.ParamByName('Content')).LoadFromStream(MS, ftBlob);
InsQ.ExecSQL;
MS.Free;
i:=SelQ.Fields.FieldByName('id').AsInteger;
SelQ.Active:=false;
SelQ.Active:=true;
SelQ.Locate('id',i,[]);
end;

InsQ - tADOQuery
...
Рейтинг: 0 / 0
16.05.2002, 05:12
    #32030294
MIKLUHA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите витянуть BLOB данные
Здравствуйте!

А чем Вас не устраивает компонент TDBImage? Если есть исходники, то можно посмотреть как DBImage загружает картинки.

Желаю успехов.
...
Рейтинг: 0 / 0
16.05.2002, 06:57
    #32030312
Dankov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите витянуть BLOB данные
Я на такое попадал. Ошибку вызывает конструкция "SmartQuery2.FieldByName('IMAGE') As TBlobField"
Перепиши так: "TBlobField(SmartQuery2.FieldByName('IMAGE'))"
...
Рейтинг: 0 / 0
22.11.2002, 15:10
    #32071395
dportnov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите витянуть BLOB данные
Для сохранения в TMemoryStream
var
tmpStream: TMemoryStream;
begin
TBlobField(SmartQuery2.FieldByNam('IMAGE')).SaveToStream (tmpStream);
end;
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / помогите витянуть BLOB данные / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]