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

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

Как записать в поле binary файл и потом считать его обратно? [D6, MSSQL]


Nikolai_S ©   (2004-07-02 14:57:00) 

Как через ADO записать в поле binary файл и потом считать его обратно?


Nikolai_S   (2004-07-02 17:36:00) [1]

ОК, спасибо. Это то, что надо


Ega23   (2004-07-02 16:13:00) [2]

Поставь его типа image. Они из одного семейства типов.

image
Variable-length binary data from 0 through 2^31-1 (2,147,483,647) bytes.


Nikolai_S   (2004-07-02 16:06:00) [3]

Я прочитал в справке, что типы данных binary и varbinary могут содержать не более 8000 байт. А как сохранить в БД файл размером в 3-5 Мб?


Ega23   (2004-07-02 15:49:00) [4]

TADOQuery

ADO не пользовался, но думаю, что так же, как и у обычного TQuery.

Читать из базы:
  TBLOBfield(DMpas.RQReadImg.FieldByName('PersFaceImg')).SaveToFile(ExtractFilePath(ParamStr(0))+'FaceImg.jpg');

Писать в базу:

DMpas.RQImage.ParamByName('Img').LoadFromFile(ExtractFilePath(ParamStr(0))+'FaceImg.jpg',ftBlob);

Естественно, в Params добавить параметр надо...


Kadr   (2004-07-02 15:35:00) [5]

TStream
TFileStream


Nikolai_S   (2004-07-02 15:34:00) [6]

Если не очень понятно поставил вопрос, то немного конкретизирую:

Задача: необходимо обеспечить возможность хранения в базе данных MS SQL Server 2000 произвольных файлов (размером около 3-5 Мб).

Для этого я создал таблицу с полями FILENAME (nvarchar) и MY_FILE (binary).

Как теперь в дельфи через TADOQuery записать в поле MY_FILE какой-нибудь файл и потом наоборот - считать из базы данных и сохранить на жесткий диск.


Наверх

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