Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.18;
Скачать: CL | DM;

Вниз

Сжать файлы и сохранить в BLOB   Найти похожие ветки 

 
Ling ©   (2005-09-30 17:15) [0]

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

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

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

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


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


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

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


 
TechnoDreamer ©   (2005-09-30 18:22) [2]

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


 
Ling ©   (2005-09-30 18:27) [3]

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

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

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


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

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


 
Ling ©   (2005-10-01 10:52) [5]

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


 
Ling ©   (2005-10-01 10:56) [6]


> TechnoDreamer


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


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

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


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

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



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

Текущий архив: 2005.12.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
2-1133644506
solomon
2005-12-04 00:15
2005.12.18
Internet Explorer, фрейм и отлов нажатия кнопок в нем.


2-1133285271
STRINGGRID
2005-11-29 20:27
2005.12.18
TABLICA STRINGGRID


14-1132490094
AlexShm
2005-11-20 15:34
2005.12.18
7-я или 8-я?


2-1133172693
Dilman
2005-11-28 13:11
2005.12.18
Пример работы с DLL


2-1133439693
linox
2005-12-01 15:21
2005.12.18
Еще один вопрос. Что за тип - Range;