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

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



Память: 0.46 MB
Время: 0.027 c
4-1148801284
Хочу_все_знать
2006-05-28 11:28
2006.10.08
Как узнать во время работы программы что запустили другую


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


15-1158559098
Курдль
2006-09-18 09:58
2006.10.08
Исключения, события и потокобезопасность.


3-1154678271
jiny
2006-08-04 11:57
2006.10.08
Права пользователей в программе


15-1158660878
cyborg
2006-09-19 14:14
2006.10.08
Мифы индейцев Южной Америки




   Наверх