Delphi - [решено] Вставить и достать файл ворда в БД Access

Ответить
Аватара пользователя
game_Racer

Delphi - [решено] Вставить и достать файл ворда в БД Access

Сообщение game_Racer »

Имеется подключение к mdb файлу, в нем таблица с полем OLE. Нужно добавить в эту таблицу запись (желательно запросом), и в поле OLE поместить документ Word.

Пробовал что то типа:



Код:

Код: Выделить всё

if OpenDialog1.Execute=True then
with ADOQuery1 do begin
close;
sql.Clear;
sql.Add('insert into lections values (:st)');
Parameters.ParamByName('st').LoadFromFile(dlgOpen1.FileName,ftBlob);
ExecSQL;
end;

После этого в поле БД двоичные данные, и как открыть их я не знаю.
Аватара пользователя
game_Racer

Re: Delphi - [решено] Вставить и достать файл ворда в БД Access

Сообщение game_Racer »

Нашел решение. Оказывается я правильно записываю, а читать нужно так:



Код:

Код: Выделить всё

procedure TForm1.BitBtn7Click(Sender: TObject);
var
 Ptkwrd: TMemoryStream;
 Blob: TBlobStream;
begin
 Ptkwrd:=TMemoryStream.Create;
 TBlobField(Query1.FieldByName('TEKST')).SaveToStream(Ptkwrd);
 Ptkwrd.Position:=0;
 Ptkwrd.SaveToFile('temp.doc');
 ShellExecute(0,'open','temp.doc',nil,nil,SW_SHOWNORMAL);
 Ptkwrd.Free;
end;
Аватара пользователя
Iska

Re: Delphi - [решено] Вставить и достать файл ворда в БД Access

Сообщение Iska »

game_Racer, всё правильно. Только это никак не сделает содержимое указанного поля «OLE'мным».
Аватара пользователя
Iska

Re: Delphi - [решено] Вставить и достать файл ворда в БД Access

Сообщение Iska »

Iska, Так мне по сути это и не нужно. К бд кроме как из моей проги доступа не будет.
Аватара пользователя
game_Racer

Re: Delphi - [решено] Вставить и достать файл ворда в БД Access

Сообщение game_Racer »

game_Racer, ясно. Смутило именно упоминание в контексте OLE вместо BLOB.
Ответить

Вернуться в «Программирование и базы данных»