Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];

Вниз

Картинка в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.055 c
10-1123948782
mufan
2005-08-13 19:59
2006.10.08
TWordApplication - save AS


15-1158535196
MDI
2006-09-18 03:19
2006.10.08
MDI Windows


3-1154678897
jiny
2006-08-04 12:08
2006.10.08
Вертикальные отчеты в FastReport


2-1158906189
qp
2006-09-22 10:23
2006.10.08
Build with runtime package - зачем?


3-1154415551
NotGooDP
2006-08-01 10:59
2006.10.08
Работа с Insert Into...Values с использованием потоков





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский