Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Paradox, MySQL... Как всунуть в базу данных картинку? 
:(
    Опции темы
X-Vlad
  Дата 17.2.2003, 02:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 570
Регистрация: 10.4.2002
Где: Украина, Львов

Репутация: 1
Всего: 5



Привет всем...

Как всунуть в базу данных картинку (jpg, gif, ... ),
и как её оттуда вытащить?

спасибо.


--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
Vit
Дата 17.2.2003, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



А если заглянуть в наш FAQ то я там клал пример кода, и даже не один.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
X-Vlad
  Дата 17.2.2003, 03:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 570
Регистрация: 10.4.2002
Где: Украина, Львов

Репутация: 1
Всего: 5



брось пожалуйсто линк...


--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
Vit
Дата 17.2.2003, 03:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207





--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
X-Vlad
Дата 17.2.2003, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 570
Регистрация: 10.4.2002
Где: Украина, Львов

Репутация: 1
Всего: 5



спасибо за линк...

ты не можешь кинуть пример?



--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
Vit
Дата 17.2.2003, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Чего пример? Там же есть пример... Что именно тебе не ясно?


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Alex101
Дата 17.2.2003, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 891
Регистрация: 8.4.2002
Где: Москва

Репутация: 2
Всего: 10



А не проще хранить ссылку на файл?
Ежели картинок много и могут меняться, то это ИМХО будет удобно...


--------------------
С уважением, А. Фролов.
PM MAIL ICQ   Вверх
Vit
Дата 17.2.2003, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата(Alex101 @ 16.2.2003, 23:26)
А не проще хранить ссылку на файл?
Ежели картинок много и могут меняться, то это ИМХО будет удобно...

Не известно для чего это делается, поэтому нельзя сказать удобнее или нет. Приведу наиболее типичные ситуации:

1) Необходимо для репортинга. Нельзя допустим в Crystal Report динамически прилинковать файл, а поле из таблицы - пожалуйста
2) Необходимо обеспечить нужный уровень защиты информации в зависимости от пользователя. Конечно можно воспользоваться защитой файловой системы, но в любом случае будет нужно 2 парралельных системы защиты - и через файловую систему и через сервер базы данных, таким образом система становится намного сложнее
3) А если количество картинок исчисляется например семи-восьмизначной цифрой. Поиск будет очень долог, все операции будут крайне медленными, а для нормальной базы данных такое количество записей - пустяк, смело можно увеличить количество хранимых картинок на 2-3 порядка без потери производительности
4) Нет возможности отслеживать целостность структуры, целостность линков, нет триггеров, нет хранимых процедур, нет встроенных систем backup/Restore, нет возможности производить транзакционные операции
5) Например надо удалить все файлы для которых в таблице то-то и то-то, средствами сервера это сделать нельзя, надо писать специальное приложение, значит системный администратор не справится с такой задачей, а надо будет привлекать программиста

Список можно ещё продолжать и продолжать, поэтому давайте остановимся не на том, зачем это надо, а как это надо сделать


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Medved
Дата 17.2.2003, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Вот же пример из FAQ, все довольно понятно:

Код

(table1.fieldbyname('ddd') as TBlobField).loadfromfile('dddss');



--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Medved
Дата 17.2.2003, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Сохранение в базе данных файла формата JPEG


Как правильно показать на экране и сохранить в базе данных картинку формата JPEG?
Можно сделать, например, так:

Код

if Picture.Graphic is TJPegImage then begin
 bs := TBlobStream.Create(TBlobField(Field), bmWrite);
 Picture.Graphic.SaveToStream(bs);
 bs.Free;
end else if Picture.Graphic is TBitmap then begin
 Jpg := TJPegImage.Create;
 Jpg.CompressionQuality := ...;
 Jpg.PixelFormat := ...;
 Jpg.Assign(Picture.Graphic);
 Jpg.JPEGNeeded;
 bs := TBlobStream.Create(TBlobField(Field), bmWrite);
 Jpg.SaveToStream(bs);
 bs.Free;
 Jpg.Free;
end else
 Field.Clear;

Примечание
объявить переменную bs как TBlobStream


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0526 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.