Вниз
Скачать: CL | DM;

картинки в Oracle9i   Найти похожие ветки 

 
UncleRu ©   (2002-10-02 20:40) [0]

Здраствуйте, профессионалы!
Использую для связи с Oracle9i DOA (Direct Oracle Access) и стоит задача записывания BLOB-полей (фотографий). Подскажите, плиз, как можно осуществлять запись и считывание картинок в базу (из базы) Oracle9i не используя BDE и промежуточных файлов, а используя потоки (TStream) и DOA. Буду благодарен за готовый пример.


 
fnatali ©   (2002-10-03 06:24) [1]

В поле типа LONG RAW.
var
bit : Tbitmap;
MS : TMemoryStream;
bit:=Tbitmap.Create;

// Чтение
MS := TMemoryStream.Create;
TBlobField(OCIQuery1.FieldByName("foto")).SaveToStream(MS);
MS.Seek(soFromBeginning, 0);
if ms.Size>0 then
begin
bit.LoadFromStream(ms);
end;
...
bit.free;
// Занесение
ms := TMemoryStream.Create;
bit.SaveToStream(ms);
with OCIQuery1 do begin
active:=false;
sql.clear;
sql.add("update vid set foto=:par where id=:par1");
parambyname("par1").asinteger:=nom;
ParamByName("par").DataType := ftBlob;
ParamByName("par").ParamType := ptInput;
ParamByName("par").LoadFromStream(ms,ftBLOB);
execsql;
end;
ms.free;


 
UncleRu ©   (2002-10-04 00:26) [2]

Спасибо за совет. Но что-то я не совсем просёк как всё это через Oracle Call Interface реализовывать. Откуда эти OCIQuery брать? Может кто подскажет как всю эту процедуру через "стандартный" TLobLocator сделать?


 
fnatali ©   (2002-10-04 06:17) [3]

OCIQuery - это компонент из библиотеки NCOCI для доступа к Oracle. Если ты пользуешься DOA, то используй оттуда аналогичный. Здесь не принципиален вид DataSet-а, IMHO.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
1-78424
spiteful_max
2002-10-15 15:54
2002.10.24
Изменение атрибута файла


14-78615
qube
2002-10-03 13:50
2002.10.24
Объясните дураку, как тут чатом пользоваться


14-78643
AL2002
2002-09-30 10:45
2002.10.24
Тут когда-то кто-то просил прогу сломать


1-78415
Дельфятник
2002-10-15 15:33
2002.10.24
Вопрос по TSpinEdit.OnKeyPress


3-78292
Новечек.
2002-10-03 16:02
2002.10.24
Создание Таблиц




   Наверх