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

Вниз

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

 
Nikolai_S ©   (2004-07-02 14:57) [0]

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


 
Nikolai_S ©   (2004-07-02 15:34) [1]

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

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

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

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


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

TStream
TFileStream


 
Ega23 ©   (2004-07-02 15:49) [3]

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 добавить параметр надо...


 
Nikolai_S ©   (2004-07-02 16:06) [4]

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


 
Ega23 ©   (2004-07-02 16:13) [5]

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

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


 
Nikolai_S ©   (2004-07-02 17:36) [6]

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



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

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

Наверх




Память: 0.48 MB
Время: 0.027 c
1-1089074956
CyBeR
2004-07-06 04:49
2004.07.25
Переход на формы по закладкам


3-1088659685
kalishenko
2004-07-01 09:28
2004.07.25
Pervasive 2000i & DISTINCT


3-1088721442
Daniil
2004-07-02 02:37
2004.07.25
DBGrid


11-1077914226
ALeX.B.
2004-02-27 23:37
2004.07.25
Вопрос по KolFtpSrv из ICS.


14-1089013165
Александр Иванов
2004-07-05 11:39
2004.07.25
Свершилось :).