Главная страница
    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.004 c
7-32350
Dann
2001-11-03 02:18
2002.02.11
А можно-ли узнать количество Видео Памяти... установленной и свободной.. Заранее огромное спасибо.


14-32342
Sour
2001-12-22 09:11
2002.02.11
Помогите установить компоненты.


4-32370
AlexandrH_
2001-12-14 11:41
2002.02.11
Как можно считать текст из ячейки Grid_а чужого окна


14-32348
Kost
2001-12-20 15:28
2002.02.11
Может быть кто видел такую вещь:


14-32341
Дремучий
2001-12-21 22:38
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский