Главная страница
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.047 c
4-1086741481
R
2004-06-09 04:38
2004.07.25
В модуле Masks есть функция MatchesMask(Name, Mask)


4-1086451369
parovoZZ
2004-06-05 20:02
2004.07.25
"TABStop" и манифест


14-1089099632
Григорьев Антон
2004-07-06 11:40
2004.07.25
Функциональные (аппликативные) языки программирования


3-1088411079
TL
2004-06-28 12:24
2004.07.25
InterBase


1-1089074956
CyBeR
2004-07-06 04:49
2004.07.25
Переход на формы по закладкам