Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сжать файлы и сохранить в BLOB [D7, MySQL]


Ling ©   (2005-09-30 17:15:00) 

Здравствуйте мастера.

Нужна помощь.
MySQL 3.23
работаю через Zeos; C BLOB полями вообще не работал, и не знаю, как мне составить запрос, что-бы сохранить в нём инфу.

Представим себе базу
индекс | путь\имена файлов.расш | размеры файлов | BLOB

Вопрос: как мне собрать все файлы из директории (это я могу 8) ), обьеденить их в один, заархивировать, и сохранить полученный архив в BLOB поле? И естественно, как выполнить обратную операцию.


Плохиш   (2005-11-02 10:38:00) [1]

Для случая [3] необходимо в 3й строке [4] заменить FieldByName на ParamByName и много читать справку.


SERGEY-ZZZ   (2005-11-02 10:26:00) [2]

Если победил - подскажи и мне как это делать.


Ling   (2005-10-01 10:56:00) [3]


> TechnoDreamer


zeosdbo-6.5.1-alpha - довольно таки популярные компоненты для доступа к MySQL.
через loadFromFile  пробовал, но таблица грузится через запрос и потому она ReadOnly


Ling   (2005-10-01 10:52:00) [4]

Удалено модератором
Примечание: Создание пустых сообщений


TechnoDreamer   (2005-10-01 00:17:00) [5]

Что такое Zeos я не знаю, через ADO в Access я делаю так:
TBlobField(MainForm.Table1.FieldByName('File')).SaveToFile('filename');
TBlobField(MainForm.Table1.FieldByName('File')).LoadFromFile('filename');


Ling   (2005-09-30 18:27:00) [6]

Ну допустим склеить файлы и заархивировать я могу (но всегда интересно, как это делают другие, может всё можно сделать проще и надёжнее).

Но хотя бы подскажите, как мне сохранить файл в BLOB?
Я все изменения в базу вношу, составив соответствующий запрос в ZSQLProcessor (до сих пор хватало, если это в корне не верно, то наставьте меня на путь истинный) , знаю, что у ZQuery BLOB-поля есть метод LoadFromFile, но он ругается на то, что данные ReadOnly; Что-бы составить ZUpdateSQL опять-же нужно составить запрос, а я не знаю, каким он должен быть, для BLOB.
Пробовал в ZQuery.SQL поставить 'insert into .. ( .. , :blobvalue)', загрузить значение через TParam.LoadFromFile, и выполнить ZQuery.ExecSQL, но вылазить исключение, мол запрос неправильный.

Подскажите плиз, как это делается.


TechnoDreamer   (2005-09-30 18:22:00) [7]

А что именно не понятно? Как сжать файлы?
Для этого есть куча компонентов. Вот например неплохой:
http://www.componentace.com/zip_component_zip_delphi_zipforge.htm#specification
Бесплатный для персонального пользования.
Или тут поищи, много чего есть:
http://www.torry.net/pages.php?id=300


Виталий Панасенко   (2005-09-30 17:44:00) [8]


> Вопрос: как мне собрать все файлы из директории (это я могу
> 8) ), обьеденить их в один, заархивировать, и сохранить
> полученный архив в BLOB поле? И естественно, как выполнить
> обратную операцию.

А деньги можно за тебя получить ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо