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

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

Как содержимое поля BLOB перенести в файл *.doc или *.xls [D6, Win2k]


Nadine ©   (2002-11-29 12:21:00) 

Такая проблема: файл, например, WORD сохраняется в поле BLOB, если потом создаю из этого поля новый файл *.doc, то в WORDе просмотреть его не могу. Если создаю файл *.txt, то в блокноте просматривается. Новый файл создаю так
var
FS: TFileStream;
...
TBlobField(...).SaveToStream(FS);
Если кто знает как все это делать, помогите, пожалуйста.


Skier   (2002-11-29 13:48:00) [1]

>Nadine

> Неверно указаны имя документа или путь к нему.

Ну так проветь путь и имя файла.
(Например через FileExists(...) )
В общем посмотри внимательно куда сохраняешь, какое имя файла и
какое расширение...


FreeLancer   (2002-11-29 13:48:00) [2]


> Когда создается файл с помощью TFileStream, в WORDе он нормально
> открывается, виден чистый лист. После загрузки данных, при
> открытии файла, дословно говорит:
> Неверно указаны имя документа или путь к нему. Попробуйте
> выполнить след. действия:
> * Проверьте разрешения на доступ к документу и диску.
> * Для поиска документа воспользуйтесь окном "Открытие документа".

Дорогая моя, так он просто файл не находит? Имя файла - в ".


Nadine   (2002-11-29 13:45:00) [3]

Когда создается файл с помощью TFileStream, в WORDе он нормально открывается, виден чистый лист. После загрузки данных, при открытии файла, дословно говорит:
Неверно указаны имя документа или путь к нему. Попробуйте выполнить след. действия:
* Проверьте разрешения на доступ к документу и диску.
* Для поиска документа воспользуйтесь окном "Открытие документа".


FreeLancer   (2002-11-29 13:20:00) [4]

Что говорит Word?


Nadine   (2002-11-29 13:17:00) [5]

>Skier
Да, полностью совпадают.


Skier   (2002-11-29 13:12:00) [6]

>Nadine
А размеры загруженного и сохранённого файла совпадают ?


Nadine   (2002-11-29 13:10:00) [7]

>Skier
Не помогает.


Skier   (2002-11-29 12:55:00) [8]

>Nadine
Ойк ! Опечатка:)
TBlobField(Table1.FieldByName("BlobData")).LoadFromFile(Edit1.Text);


Skier   (2002-11-29 12:54:00) [9]

>Nadine
Так не поможет : ?



begin
try
if Table1.Database <> nil then
begin
Table1.Database.StartTransaction;
Table1.Insert;
Table1.FieldByName("dateRep").AsDateTime:=Now;
Table1.FieldByName("NameRep").AsString:=Edit1.Text;
Table1.FieldByName("ExtRep").AsString:=RightStr(Edit1.Text,3);
TBlobField(Table1.FieldByName("BlobData")).LoadFromFile(Edit1.Text)(FromFile);
Table1.Post;
Table1.Database.Commit;
end;

end;


Nadine   (2002-11-29 12:45:00) [10]

У меня база на Оракле.
>Skier
Сохраняю вот так:
var
FromFile: TFileStream;
begin
try
FromFile:=TFileStream.Create(Edit1.Text,fmOpenRead);
FromFile.Seek(0, soFromBeginning);
if Table1.Database <> nil then
begin
Table1.Database.StartTransaction;
Table1.Insert;
Table1.FieldByName("dateRep").AsDateTime:=Now;
Table1.FieldByName("NameRep").AsString:=Edit1.Text;
Table1.FieldByName("ExtRep").AsString:=RightStr(Edit1.Text,3);
TBlobField(Table1.FieldByName("BlobData")).LoadFromStream(FromFile);
Table1.Post;
Table1.Database.Commit;
end;
finally
FromFile.Free;
end;


FreeLancer   (2002-11-29 12:38:00) [11]

Ну, в Interbase, к примеру, существуют по кр. мере два вида BLOB"ов - текстовый и бинарный


Skier   (2002-11-29 12:37:00) [12]

>Nadine

> WORD сохраняется в поле BLOB

Покажи как сохраняется...


Карелин Артем   (2002-11-29 12:37:00) [13]

Значит записываешь неправильно.


Nadine   (2002-11-29 12:36:00) [14]

Объясните, пожалуйста, что зачит в бинарном виде?


Nadine   (2002-11-29 12:35:00) [15]

Да. Тот же самый результат.


FreeLancer   (2002-11-29 12:33:00) [16]

Файл должен сохраняться в BLOB в бинарном виде.


Карелин Артем   (2002-11-29 12:27:00) [17]

TBlobField(...).SaveToFile пробовал??


Наверх

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