Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.02;
Скачать: CL | DM;

Вниз

Проблема с чтением из BLOB поля в стрим...   Найти похожие ветки 

 
HolyMan ©   (2004-01-04 00:20) [0]

Привет всем!
Вот пример моего кода где я пытаюсь занести значение BLOB поля в стрим по выдает ошибку
var
FreeStream : TBLOBStream;
begin
FreeStream := ibdsDS.CreateBlobStream(ibdsDS.FieldByName("DSFILE"),bmReadWrite);


ошибка в выделенной строке "Не соответствие типов TBLOBStream и TStream"

Помогите с решением этой проблемы...
заранее благодарен...


 
XanderMan ©   (2004-01-04 11:25) [1]

Попробуй так:
var
FreeStream : TStream;


 
Jibskeart ©   (2004-01-04 12:16) [2]

или так

FreeStream := TBlobStream(ibdsDS.CreateBlobStream(ibdsDS.FieldByName("DSFILE"),bmReadWrite));


 
HolyMan ©   (2004-01-05 00:02) [3]

поменял тип и все стало нормально...только появился еще один вопрос, вот я создал стрим в котром я так понял храняться все данные из BLOB поля, а как мне теперь извлечь данные из определенной записи или может я что то не понимаю...обьясните пожалуста...


 
Dok_3D ©   (2004-01-05 00:20) [4]

var strFile : TFileStream;
strTemp : TStream;
begin
fsFile := TFileStream.Create("file_name", fmCreate);
strTemp := dsObj.CreateBlobStream(Query.FieldByName("FIELD_NAME"), bmRead);
fsFile.CopyFrom(strTemp,0); // Ну вот, теперь свой блоб в файле
strTemp.Free;
fsrFile.Free
end;


 
Dok_3D ©   (2004-01-05 00:24) [5]

Мелкая ошибочка, еще раз:

var strFile : TFileStream;
strTemp : TStream;
begin
fsFile := TFileStream.Create("file_name", fmCreate);
strTemp := dsObj.CreateBlobStream(dsObj.FieldByName("FIELD_NAME"), bmRead);
fsFile.CopyFrom(strTemp,0); // Ну вот, теперь твой блоб в файле
strTemp.Free;
fsrFile.Free
end;


 
kaif ©   (2004-01-05 02:18) [6]

HolyMan © (05.01.04 00:02) [3]
поменял тип и все стало нормально...только появился еще один вопрос, вот я создал стрим в котром я так понял храняться все данные из BLOB поля, а как мне теперь извлечь данные из определенной записи или может я что то не понимаю...обьясните пожалуста...


Ну почему же? Ты имеешь теперь данные из BLOB-поля, относящиеся к текущей записи в наборе данных. Перейди на следующую запись
ibdsDS.Next
и опять считай данные в stream. Ты получишь BLOB-данные, относящиеся к другой записи. Если у тебя в BLOB-поле записаны картинки (такой пример есть в DBDEMO к Delphi), то каждая картинка соответствует своей записи.


 
HolyMan ©   (2004-01-05 22:56) [7]

Спасибо. Очень помогли...



Страницы: 1 вся ветка

Текущий архив: 2004.02.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-2108
Marina_S
2004-01-19 21:39
2004.02.02
Как запустить исходник?


7-2381
Митяй
2003-11-14 16:51
2004.02.02
Защита программы


1-2115
Grinder
2004-01-19 00:20
2004.02.02
TextToShortcut с клавишей Win


14-2368
Rauf
2004-01-13 01:59
2004.02.02
Есть ли в Дельфи оптимизация кода?


3-1949
hfa
2004-01-05 16:04
2004.02.02
Помогите мне с запросом! Как получить список серверов Oracle