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


Автор: МММ 15.3.2007, 10:35
Есть код
Код

  ADOTable1.first;
  for I := 0 to ADOTable1.RecordCount - 1 do
     begin
      blob := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('d1'), bmRead);
      try
        blob.Seek(0, soFromBeginning);
       with TFileStream.Create('c:\111.txt', fmCreate) do
          try
            CopyFrom(blob, blob.Size)
          finally
            Free
          end;
       finally
        blob.Free;
        ADOTable1.next;
      end;
     end;


как заставить чтобы файл 111.txt дописывался? а не переписвался последним значение Blob поля ? тоесть в файле должны быть все blob занчения из таблицы.

Автор: DimW 15.3.2007, 10:58
Цитата(МММ @  15.3.2007,  10:35 Найти цитируемый пост)
как заставить чтобы файл 111.txt дописывался? а не переписвался последним значение Blob поля ?

прочитать как пользоваться:

assignfile();
append();
write();
closefile();

Автор: МММ 16.3.2007, 01:19
Цитата

прочитать как пользоваться:

assignfile();
append();
write();
closefile();


спасибо конечно, это я знаю...., то-есть стандартно TFileStream.Create('c:\111.txt', fmCreate) только новый файл создает, дописывать никак не научить :(



Автор: dimazu 16.3.2007, 08:05
Код

var
  MyStream : TFileStream;
...
begin
  ...
  if not FileExists ('c:\111.txt') then
    MyStream := TFileStream.Create ('c:\111.txt', fmCreate)
  else
    MyStream := TFileStream.Create ('c:\111.txt', fmOpenReadWrite);
  try
    MyStream.Position := MyStream.Size;
    MyStream.Write({тута записываем, чего надо записать});
  finally
    MyStream.Free;
  end;
end;

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