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

Вниз

Картинка в BLOB-e   Найти похожие ветки 

 
Id   (2006-09-18 15:55) [0]

Здраствуйте еще раз.
Не могу сохранить картинку в базу(Fb 1.5),
procedure TFRg.Button1Click(Sender: TObject);

begin
 DataModule1.TrUpdate.StartTransaction;
  try
    with DataModule1.IBUpdate do begin
      close;
      SQL.Clear;
      SQL.add("update rentgen set OPIS=:OPIS,PIC=:PIC,nazn=:nazn where id="+edit1.Text);
      Prepare;
      ParamByName("OPIS").AsBlob:=RichEdit1.Lines.Text;
      ParamByName("PIC").Assign(Image1.Picture.Bitmap);

      ParamByName("nazn").AsInteger:=0;
      ExecSQL;
    end;
  except
   DataModule1.TrUpdate.Rollback;
  end;
  try
   DataModule1.TrUpdate.Commit;
  except
   DataModule1.TrUpdate.Rollback;
  end;
close;
end;

Подскажите синтаксис выделенной строчки?


 
Id   (2006-09-18 16:02) [1]

Выскакивает ошибка "Unsupported feature"


 
Desdechado ©   (2006-09-18 16:05) [2]

SaveToStream
то же самое, что и при чтении, только наоборот

не дубли, забанят!
http://delphimaster.net/view/2-1158580517/


 
Id   (2006-09-18 16:33) [3]

Вот это нашел на Ibase.ru
IBDataSet1.Edit;
B:=IBDataSet1.CreateBlobStream(IBDataSet1.FieldByName("BLB") as TBlobField, bmWrite);
B.LoadFromFile("c:\blob.bin");
B.Free;
IBDataSet1.Post;

Преобразую

procedure TFRg.Button1Click(Sender: TObject);
var
b:TIBBlobStream;
begin
DataModule1.TrUpdate.StartTransaction;
 try
   with DataModule1.IBUpdate do begin
     close;
     SQL.Clear;
     SQL.add("update rentgen set OPIS=:OPIS,PIC=:PIC,nazn=:nazn where id="+edit1.Text);
     Prepare;
     ParamByName("OPIS").AsBlob:=RichEdit1.Lines.Text;
     B:=CreateBlobStream(ParamByName("OPIS") as TBlobField, bmWrite);
     b.SaveToStream(ParamByName("PIC"));
     b.free;

     ParamByName("nazn").AsInteger:=0;
     ExecSQL;
   end;
 except
  DataModule1.TrUpdate.Rollback;
 end;
 try
  DataModule1.TrUpdate.Commit;
 except
  DataModule1.TrUpdate.Rollback;
 end;
close;
end;

Не компилируется-
"[Error] Rentgen.pas(123): Undeclared identifier: "TBlobField"
[Error] Rentgen.pas(123): Undeclared identifier: "bmWrite"
[Error] Rentgen.pas(129): Incompatible types: "TPersistent" and "TIBBlobStream""
Подскажите как правильно?


 
Id   (2006-09-19 15:14) [4]

Задам вопрос по другому.
Можно ли каким-то образом сохранить картинку в потоке BLOB  через параметры, так как это делается с текстом?

> ParamByName("OPIS").AsBlob:=RichEdit1.Lines.Text;


 
Johnmen ©   (2006-09-19 15:48) [5]

IBDataSet1.Edit;
B:=IBDataSet1.CreateBlobStream(IBDataSet1.FieldByName("BLB") as TBlobField, bmWrite);
Image1.Picture.Bitmap.SaveToStream(B);
IBDataSet1.Post;
B.Free;


 
Johnmen ©   (2006-09-19 15:51) [6]

Вместо FieldByName ес-но ParamByName.



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

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

Наверх




Память: 0.48 MB
Время: 0.031 c
2-1159086452
Axis_of_Evil
2006-09-24 12:27
2006.10.08
работа с WideString


3-1154672476
Progr_Neud
2006-08-04 10:21
2006.10.08
Параметры в ADO: q2: Parameter i not found


9-1137021348
Buffer
2006-01-12 02:15
2006.10.08
GLScene Buffer Как узнать видна ли такая то точка или нет?


15-1158643332
Ega23
2006-09-19 09:22
2006.10.08
С Днём рождения! 19 сентября


15-1158160397
Слоник
2006-09-13 19:13
2006.10.08
Равноудаление и все-все-все