Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];

Вниз

Поля BLOB в базе INTERBASE   Найти похожие ветки 

 
harismatik   (2002-01-15 13:38) [0]

Мэтры баз данных!!!
Обращаюсь к вам за помощью. Проблема такая:
Есть база на Интербейзе. я хочу хранить в одной из таблиц графическуб информацию (фотографии). Для этого при создании таблицы создаю поле типа BLOB. Но как под Дельфой в него загнать нужную информацию?


 
Romkin   (2002-01-15 13:41) [1]

Проще всего через TMemoryStream|TFileStream - загоняешь данные в поток, а поле TBLOBField.LoadFromStream. Ловушка - после закачки данных в поток не забыть установить позицию в его начало. Ну и ессно Edit/Post у таблицы


 
harismatik   (2002-01-15 13:53) [2]

2Romkin
А можно поподробнее? Я ничего не понял.
Можно кусок кода посмотреть?


 
Delirium   (2002-01-15 14:01) [3]

А если так:

Query1.Edit;
TBLOBField(Query1.FieldByName("myField")).LoadFromFile("c:\test.bmp");
Query1.Post;


 
harismatik   (2002-01-15 14:13) [4]

Все равно не понял.
Это что же, кроме компонента TTable еще и TQuery ставить в проект придется? а какой текст в него зашивать в параметр SQL? И с чем его связывать?
И как потом содержимое этого поля в TImage загнать?


 
Delirium   (2002-01-15 14:22) [5]

>harismatik

Ну ты уже совсем /8)

Какая разница в приведёном примере: TQuery там или TTable, или ещё что TDataSet совместимое? Если для тебя это так сложно, используй TDBImage - это то, что тебя спасёт :)


 
Digitman   (2002-01-15 14:44) [6]

>harismatik
Ну причем здесь TQuery-то ?
У любого наследника TDataSet есть св-во - коллекция TFields, в которой для поля типа BLOb существует объект класса TBLOBField. А у класса TBLOBField есть, к примеру, метод LoadFromFile, коим тебе и посоветовал воспользоваться <Delirium>.
Что же касается TImage, то у него усть св-во TPicture, у которого есть св-во TBitmap, у которого есть, к примеру, метод SaveToStream, позволяющий сохранить растровый образ картинки в предварительно подготовленный тобой объект-поток. А у любого потомка TBLObField есть метод LoadFromStream, с помощью которого твой поток, содержащий загруженную из TImage.Picture.Bitmap битовый образ картинки, можно загрузить в BLOb-поле. Неужели это так трудно сообразить, "погуляв" целенаправленно 5 минут по Delphi help ?? Там ведь все есть ! И примеры в т.ч. !!


 
harismatik   (2002-01-15 15:11) [7]

Ну хорошо. Сохранить в базе картинку мне удалось.
Как теперь при нажатии на кнопку вывести в TImage эту картинку из базы? Если можно, то код пожалуйста.

PS 2Digitman Только не бейте сильно. Ламер я в этом деле, а заказ от шефа срочный.


 
Romkin   (2002-01-15 15:13) [8]

Кстати, при работе с sql серверами TTable не применяется, работать надо только через TQuery
А выводить - в обратном порядке, тоже через поток рекомендую.
И с IB6 надо бы использовать IBX


 
harismatik   (2002-01-15 15:25) [9]

> А выводить - в обратном порядке, тоже через поток рекомендую.

А как все же выводить?


 
Delirium   (2002-01-15 15:29) [10]

Ты достал! Читай хелп!
Господин Модератор, убейте вы эту ветку!



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

Форум: "Базы";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
3-32130
Belov
2002-01-15 11:18
2002.02.11
Вопрос по связке DLL - БД


1-32230
kioto
2002-01-27 01:08
2002.02.11
Отображение содержимого ТОЛЬКО МОЕГО окна при перетаскивании


1-32240
Brand
2002-01-27 23:09
2002.02.11
DLL, связь с основной программой


3-32177
jenbond
2002-01-17 11:08
2002.02.11
Sql and TEdit


6-32314
Alex2x
2001-09-05 15:17
2002.02.11
Сетевое копирование





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский