Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2015, 11:22   #1
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию Загрузить и выгрузить pdf файл из ado

Всем привет!
Подскажите, как загрузить pdf файл в ячейку бд, а потом открыть его через стандартный adoreader?
Спасибо.
Ernest027 вне форума Ответить с цитированием
Старый 25.12.2015, 12:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В БД сделай поле BLOB.
В своей программе подключи это поле, оно станет компонентом.
А далее код
Код:
Query1Тосамоеполе.LoadFromFile('c:\Windows\Waves.pdf');
Query1.Post;
Загрузит в базу файл.
Ну а метод SaveToFile() соответственно выгрузит, и далее через ShellExecute() это pdf можно запускать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2015, 12:40   #3
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Спасибо, а через opendialog можно?

Код:
if DataModule2.sOpenDialog1.Execute then
begin
  DataModule2.ADOQuery4.Edit;
  DataModule2.ADOQuery4.FieldByName('pdf').Assign(DataModule2.sOpenDialog1.Files);
  datamodule2.adoquery4.Post;
end;

Последний раз редактировалось Ernest027; 25.12.2015 в 12:51.
Ernest027 вне форума Ответить с цитированием
Старый 25.12.2015, 14:10   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну я чего нет? поставь FieldByName(DataModule2.sOpenDialog 1.FileName).
Или тебе несколько файлов нужно закатывать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2015, 14:22   #5
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

есть список людей например. К каждому имени прикрепить pdf файл
Ernest027 вне форума Ответить с цитированием
Старый 25.12.2015, 14:59   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нескромный вопрос: А зачем в базу файл ложить? Может крепить к записи в базе относительный путь к файлу, а сам файл (файлы) хранить на сервере?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2015, 15:03   #7
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

ну можно так) так наверно даже лучше будет, чтобы базу не грузить)
а как этот вариант реализовать? в инете найти что-то не могу.
Спасибо.
Ernest027 вне форума Ответить с цитированием
Старый 25.12.2015, 15:44   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну например на сервере сделать папку, в которую будут ложиться файлы. Каждый файл будет в имени своем содержать некий уникальный номер, который будет ложиться в БД.
Например создаешь запись. СУБД дает ей уникальный ключ. Ты этот ключ выбираешь и копируешь файл в ту папку, задавая ему в качестве имени это значение ключа.
Т.е. у тебя будет таблица:
ID IDUser ...
1 5 ...
2 5 ...
4 9 ...

И файлы: 1.pdf, 2.pdf, 4.pdf
Соответственно потом считывая инфу из БД получив ID открываешь файл с таким именем из этой общей папки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2015, 15:49   #9
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

так не пойдет. у файлов есть уже названия, это нужно,чтобы любой и не через базу мог зайти на сервер и посмотреть файлы. поэтому как сделать? Blob-поле (сам файл) или обычное char (путь к файлу)? склоняюсь ко второму, но как потом его открыть?
Ernest027 вне форума Ответить с цитированием
Старый 25.12.2015, 16:27   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но как потом его открыть?
Ну как это как? Ты же можешь вытащить путь из этого поля? вот и подставь его в функцию, которая будет у тебя открывать файл.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузить файл Pol1212 Помощь студентам 23 26.02.2015 04:09
Выгрузить данные из базы и отдать клиенту файл на скачивание Maxx PHP 2 04.09.2014 11:09
Как выгрузить EXCEL файл с сайта? Nesvin Microsoft Office Excel 2 06.11.2012 17:29
Как выгрузить нарисовано на экране в графический файл Anubys Win Api 0 20.03.2011 00:40
WinInet загрузить файл во временной файл , использовать, потом удалить Человек_Борща Работа с сетью в Delphi 5 03.08.2010 13:46