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

Вниз

Как сохранять содержимое файлов в БД и обратно ?   Найти похожие ветки 

 
NewD   (2003-11-06 13:38) [0]

имеется поле VARBINARY исползую ADO

и я в него сохраняю содержимое файла через Tstream

для сохранения в БД:

procedure TForm1.Button1Click(Sender: TObject);
var stream:tadoblobstream;
begin
try
ADODataSet1.Append;
if opendialog1.Execute then
begin
stream:=tadoblobstream.Create(tblobfield (ADODataSet1.FieldByName("BlOBFIELD")),bmReadWrite);
stream.LoadFromFile(opendialog1.FileName);
end;
ADODataSet1.Post;
except
on e:exception do showmessage(e.Message);
end ;
stream.free;
end;


для сохранения в файл

procedure TFormDOC.Button2Click(Sender: TObject);
var stream:tadoblobstream;
i:integer;
begin
try
if savedialog1.Execute then
begin
ADODataSet1.Edit;
stream:=tadoblobstream.Create(tblobfield(ADODataSet1.FieldByName("BlOBFIELD")),bmread);
stream.savetofile(savedialog1.FileName);
ADODataSet1.cancel;
end;
except
on e:exception do showmessage(e.Message);
end ;
stream.free;
end;

ошибок нет но почему то сохраняет 0 байт в файле,
что не так ?
или он не грузит в базу данные из файла ?


 
sniknik ©   (2003-11-06 13:51) [1]

просто
tblobfield(ADODataSet1.FieldByName("BlOBFIELD")).savetofile(savedialog1.FileName);
попробуй, и аналогично чтение.


 
NewD   (2003-11-06 13:54) [2]

я уже пробовал при сохранении выдает ошибку:
Invalid class Typecast


 
sniknik ©   (2003-11-06 14:22) [3]

так это уже несответствие типов, может и ноль байт записывало потомуже, поменяй тип поля на blob (image к примеру).
посмотрел, у TBinaryField вообще нет stream-а (а приводится по типу к нему)



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

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

Наверх




Память: 0.47 MB
Время: 0.041 c
14-90082
Проходящи_й_
2003-11-05 10:40
2003.11.27
100$ за то, кто узнает sn delphi, версию, систему, sn из exe.


4-90171
Lord Warlock
2003-09-18 09:29
2003.11.27
WM_QUERYENDSESSION


1-89919
Sandman25
2003-11-18 11:07
2003.11.27
TListBox.AddItem( , TObject(-1))


1-89890
Oleg Khvostenko
2003-11-15 13:46
2003.11.27
Real в Integer


1-89830
romeo
2003-11-18 15:35
2003.11.27
Все время черно-белая картинка!!! Блин...