Вниз
Скачать: 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.034 c
15-1158300245
Ega23
2006-09-15 10:04
2006.10.08
Специалисты по MySQL, отзовитесь!


11-1134294587
MTsv DN
2005-12-11 12:49
2006.10.08
Просмотр ВСЕХ компонентов независимо от Parent а...


11-1134201796
Vano12
2005-12-10 11:03
2006.10.08
Помогите-Я сделал авторан на диск в Delphi мне надо чтобы кнопка


15-1158383746
PSPF2003
2006-09-16 09:15
2006.10.08
.aspx приложения в Д7


2-1158057913
megabyte-ceercop
2006-09-12 14:45
2006.10.08
Параметры командной строки.




   Наверх