Главная страница
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.026 c
3-1088417911
Черный анархист
2004-06-28 14:18
2004.07.25
Дата в запросах для Paradoxa


3-1088753179
Manfred8
2004-07-02 11:26
2004.07.25
Decision Cube


1-1089324398
Zvr@b
2004-07-09 02:06
2004.07.25
Как такое может быть!.... цикл до 3 а выполняется 10 раз!


1-1089636731
BillyJeans
2004-07-12 16:52
2004.07.25
FileExists();


14-1088405291
Dmitriy O.
2004-06-28 10:48
2004.07.25
Кто появился ранше ?