Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.037 c
2-1157839282
progdev
2006-09-10 02:01
2006.10.01
Оптимальный методь поиска в тхт файлов


3-1151338799
Дмитрий_Б
2006-06-26 20:19
2006.10.01
Добавление поля в TDataSet


15-1157982084
Rule
2006-09-11 17:41
2006.10.01
понедельничная задачка, для поступающих в первый класс


1-1155801487
lex67
2006-08-17 11:58
2006.10.01
Как сделать паузу


15-1157976956
vidiv
2006-09-11 16:15
2006.10.01
Клиент SIP протокола для компа (IP-телефония).




   Наверх