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

Вниз

Сохранение и восстановление документов в БД   Найти похожие ветки 

 
AFROLOV ©   (2002-08-12 12:35) [0]

Записать и считать файл удается, но восстановить его получается только под тем именем под которым он был записан. Например в базу помещаем файл c:\1.doc. Если его восстановить как d:\1.doc то все работает (фаил можно открывать с помощью Word)
а если его восстановить под именем c:\2.Doc то при попытке открыть его с помощью Word возникает ошибка. Как можно избежать подобных проблем?

Заранее спасибо.


//Запись файла в базу
..
ADOQuery.SQL.Clear();
ADOQuery.SQL.Add("Select PaternId,File from TPaterns where PaternId="+IntToStr(tmp1)+";");
ADOQuery.Open();
tmp:=ADOQuery.FieldValues["PaternId"];
FileStream:=TFileStream.Create(FName,fmOpenRead);
ADOQuery.Edit();
BlobStream:=ADOQuery.CreateBlobStream(ADOQuery.FieldByName("File"),bmWrite);
BlobStream.CopyFrom(FileStream,0);
BlobStream.Free;
ADOQuery.Post();
FileStream.Free;
ADOQuery.Close();
end;
//Восстановление файла из базы
function ReadPaternFile(var ADOQuery:TADOQuery;PaternId:Int64;Path:String):string;
var
BlobStream : TStream;
FileStream : TFileStream;
tmp1:Cardinal;
resStr,tmpStr:String;
begin

ADOQuery.SQL.Clear();
ADOQuery.SQL.Add("Select * from TPaterns where PaternId="+IntToStr(PaternId)+";");
ADOQuery.Open();

BlobStream:=ADOQuery.CreateBlobStream(ADOQuery.FieldByName ("File"),bmRead);

tmpStr:=ADOQuery.FieldValues["FileName"];
resStr:=ExcludeTrailingPathDelimiter(Path)+"\"+ADOQuery.FieldValues["FileName"];

FileStream:=TFileStream.Create(resStr,fmCreate);
FileStream.CopyFrom(BlobStream,0);
FileStream.Free;
BlobStream.Free;
end;


 
AFROLOV ©   (2002-08-12 14:36) [1]

Неужели никто не знает?



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
8-3530
mari_ra
2002-04-24 18:23
2002.09.02
Как вывести BMP на панель?


4-3673
dihlos
2002-07-01 18:13
2002.09.02
Как узнать handle дочерних окон приложения?


14-3616
MJH
2002-08-04 01:36
2002.09.02
Не знает ли кто компонент? (Chapter 2)


1-3456
HemeC
2002-08-20 19:04
2002.09.02
ошибка Exception EDBEngineError............! и вопрос........!


1-3348
Keymaster
2002-08-21 22:40
2002.09.02
Выгрузка в Ёксель