powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / помогите витянуть BLOB данные
5 сообщений из 5, страница 1 из 1
помогите витянуть BLOB данные
    #32028579
AlexG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что может послужить причиной ошибки: "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
помогите витянуть BLOB данные
    #32030174
Vital
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я делал так (для маленьких текстовых файлов меньших 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
помогите витянуть BLOB данные
    #32030294
MIKLUHA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

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

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


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