Главная страница
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.029 c
4-1148307365
sholom
2006-05-22 18:16
2006.10.01
Подключить к COM-порту или USB


15-1158046892
wwwrr
2006-09-12 11:41
2006.10.01
Как в поле записать NULL значение...


1-1155902119
Alkid
2006-08-18 15:55
2006.10.01
Вызов метода класса предка


2-1157739933
gear
2006-09-08 22:25
2006.10.01
Можно ли восстановить исходный код по exe содержащих в себе debug


2-1158099340
Ref
2006-09-13 02:15
2006.10.01
тыблицы ADO