![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 01.09.2010
Сообщений: 52
|
![]()
Доброго времени суток всем!
такой вопрос. есть бд Oracle есть программа которая с ней общается. к программе можно подключать bplки с макросами и вызывать их с параметрами. вопрос в следующем. в бд есть таблица с blob полем (картинка). программой мы можем получить это поле, но не можем его сохранить(не хватает стандартного функционала), как следствие необходимо дописать bpl который макросом будет сохранять переданный ему blob на диск.( грубо говоря, пришла переменная с blobом, мы ее приняли и сохранили на диск) никогда с таким не сталкивался, поэтому не знаю даже с чего начать... может кто подскажет где почитать или пример поглядеть... |
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Если нет то... Напряги Оракл PLSQL или на его встроенной яве вытаскивай из поля в файл.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 01.09.2010
Сообщений: 52
|
![]()
ораклом можно сохранить на диск, но только на диск сервера... а нужно на диск клиента...
есть пример создания макроса Пример макроса "TEST_MACRO", который выводит все переданные ему параметры. 1. test_unit.pas Код:
Код:
Последний раз редактировалось Stilet; 06.09.2010 в 14:00. |
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Вопрос в том как эти поля получаются. Может ли твой макрос увидеть компонент, работающий с данными из BLOB? В принципе можно попробовать обратится к компоненту уже после загрузки картинки. Если это TImage и находится он на форме некой, можно попробовать описать Form1.Image. и обратится к его методам, либо же попробовать через FindVCL найти этот компонент на форме. Однако я бы лучше либо переписал программу, либо к автору обратился. ИМХО с плагинами в таком случае дело иметь опасно.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 01.09.2010
Сообщений: 52
|
![]()
программу переписать не получится, все изменения вносятся как раз такими bplями во избежании краха всей системы
![]() к компоненту обратиться не получится, ибо его как такового нет. картинка нигде не отображается. данные будут выбираться селектом в курсор и на каждую строку курсора будет вызываться этот макрос, параметрами будет передаваться поле курсора (blob) и имя файла... ладно, будем думать ![]() |
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Допустим. А сам запрос тебе известен?
В Макросе можно описать свое ADOQuery, запросить это BLOB поле, и получив его сохранить - это тупость, но раз такой случай может пройти.
I'm learning to live...
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 01.09.2010
Сообщений: 52
|
![]()
сам запрос известен
![]() нашел такое вот в нете: В данном примере, объект Table1Bitmap типа TBLOBField - BLOB-поле таблицы dBASE. Данный TBLOBField-объекты был создан с помощью редактора полей (Fields Editor). Если редактор полей для создания TFields для полей таблицы не используется, получить доступ к полям можно с помощью метода FieldByName или свойства Fields, оба они являются членами компонентов TTable или TQuery. В случае ссылки на BLOB-поле таблицы с помощью одного из приведенных членов, перед использованием метода Assign указатель на поле должен быть прежде приведен к типу объекта TBLOBField. Для примера: Код:
как думаете, проканает если прописать img: TImage. создать и сделать то же самое только вместо поля запихать параметр? блин,проверить не могу компилятор не настроен ![]() но если чисто теоретически смотреть на вопрос? ![]() Последний раз редактировалось Stilet; 06.09.2010 в 16:00. |
![]() |
![]() |
![]() |
#8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Раз тебе известен запрос, то выполни его: Код:
Оно конечно быдлокодерство, но... Я лично другого в твоей ситуации при таких условиях не вижу.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 01.09.2010
Сообщений: 52
|
![]()
спасибо, сегодня с новыми силами попробую ченить сваять
![]() ![]() |
![]() |
![]() |
![]() |
#10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Океюшки. Кстати у мя подобная проблема - я плюнул на эти навороты, решил заново старые проекты переписать, дешевле выйдет.
I'm learning to live...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
BLOB поле | artemavd | БД в Delphi | 17 | 09.08.2016 02:13 |
загрузка сохранение изображения в blob поле | Lokos | БД в Delphi | 1 | 24.02.2010 06:50 |
tvarbytesfield vs Blob | Spot | БД в Delphi | 2 | 19.01.2010 12:04 |
Из Memo в BLOB | artemavd | БД в Delphi | 52 | 31.07.2009 20:32 |
BLOB в string | _andrews_ | БД в Delphi | 0 | 20.04.2007 12:05 |