Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Загрузка файла в БД через ADO


Автор: RockClimber 31.7.2008, 13:11
Я внимательно прочитал http://forum.vingrad.ru/topic-168814.html тему, но у меня не работает эта штуковина...
Код

procedure TForm1.ButtonUpLoadClick(Sender: TObject);
var  
  blob: TStream;
  fs: TFileStream;
begin
  blob := ADODataSet1.CreateBlobStream(ADODataSet1.FieldByName('file_container'), bmWrite);
  try
    blob.Seek(0, soFromBeginning);
    fs := TFileStream.Create(OpenDialog1.FileName, fmShareDenyWrite);
    try
      blob.CopyFrom(fs, fs.Size)
    finally
      fs.Free
    end;
  finally
    blob.Free
  end;
end;

В первой же строке возникает ошибка - "Field 'file_container' not found". Я так понимаю, надо объекту ADODataSet1 объяснить, в какое поле какой строки ставлять файл. А как это сделать? Смотрел справку по компонентам TField и TADODataSet, но ничего не нашел...

Автор: Poseidon 31.7.2008, 18:14
Цитата(RockClimber @  31.7.2008,  13:11 Найти цитируемый пост)
В первой же строке возникает ошибка - "Field 'file_container' not found". 
А в таблице есть поле file_container?

Автор: RockClimber 31.7.2008, 21:32
Цитата(Poseidon @  31.7.2008,  18:14 Найти цитируемый пост)
А в таблице есть поле file_container?

То-то и оно, что есть! Имеет тип bytea.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)