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

Вниз

blob sql   Найти похожие ветки 

 
ptr_fm   (2006-09-08 12:45) [0]

Добрый день, помогите пожалуйста
Записываю так JPG файл, но при попытке просмотреть его он выдает что поле пустое Nil; Где может быть ошибка. SizeStream везде меняется в зависимости он размера файла которое выбираю.

var
 Stream: TStream;
 Stream2: TBlobStream;
begin
 if not (Field.DataSet.State in [dsEdit, dsInsert])
  then Field.DataSet.Edit;
 Field.Clear;
 if Assigned(Picture.Graphic) then
   if not Picture.Graphic.Empty then
     begin
       Stream := TMemoryStream.Create;    
       try
         Picture.Graphic.SaveToStream(Stream);
         SizeStream := stream.Size;
         Stream.Position := 0;
         Stream2:=TBlobStream(Form1.ADOTable1.CreateBlobStream(Form1.ADOTable1.FieldByNam e("Foto1"),bmReadWrite)); // запись
         Stream2.Position := 0;
         Stream2.CopyFrom(Stream, Stream.Size);
         SizeStream := stream2.Size;
         Form1.ADOTable1.Post;
       finally
         Stream.Free;
        end;
   end;
end;


 
Правильный Вася   (2006-09-08 12:52) [1]

Stream2 разрушать дядя будет?
AFAIR, до Post надо.


 
ptr_fm   (2006-09-08 13:14) [2]

Вот так? Я правильно понял?        
        Stream2.CopyFrom(Stream, Stream.Size);
        SizeStream := stream2.Size;
      finally
        Stream.Free;
        Stream2.Free;
       end;
      Form1.ADOTable1.Post;


 
ptr_fm   (2006-09-08 14:27) [3]

Когда ставлю POST после то при очистке Stream2 появляется ошибка Bitmap image is not valid


 
Shaman_ ©   (2006-09-09 15:15) [4]

А чего так заморочено то все?
Так не работает разве?:
var
Stream: TStream;
begin
if not (Field.DataSet.State in [dsEdit, dsInsert])
 then Field.DataSet.Edit;
Field.Clear;
if Assigned(Picture.Graphic) then
  if not Picture.Graphic.Empty then
    begin
      Stream := TMemoryStream.Create;    
      try
        Picture.Graphic.SaveToStream(Stream);
        Stream.Position := 0;
        TBlobField(Form1.ADOTable1.FieldByName("Foto1")).LoadFromStream(stream);
        Form1.ADOTable1.Post;
      finally
        Stream.Free;
      end;
  end;
end;


 
ptr_fm   (2006-09-12 10:54) [5]

Спасибо!!!!!!!!!
Все отлично работает!!!!!



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

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

Наверх




Память: 0.47 MB
Время: 0.058 c
1-1155885997
Mechanic
2006-08-18 11:26
2006.10.01
Отрисовка Формы


2-1158215420
Ola
2006-09-14 10:30
2006.10.01
Строки


2-1157715613
Alral
2006-09-08 15:40
2006.10.01
Poisk v TKomboBox


2-1157577757
PPartition
2006-09-07 01:22
2006.10.01
Корректна ли такая конструкция ?


9-1136550582
кобзон
2006-01-06 15:29
2006.10.01
Вопрос по DirectX