![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Картинка в BLOB-e [D6, XP]
Id © (2006-09-18 15:55:00)Здраствуйте еще раз.
Не могу сохранить картинку в базу(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;
Подскажите синтаксис выделенной строчки?
Johnmen (2006-09-19 15:51:00) [1]Вместо FieldByName ес-но ParamByName.
Johnmen (2006-09-19 15:48:00) [2]
IBDataSet1.Edit;
B:=IBDataSet1.CreateBlobStream(IBDataSet1.FieldByName('BLB') as TBlobField, bmWrite);
Image1.Picture.Bitmap.SaveToStream(B);
IBDataSet1.Post;
B.Free;
Id (2006-09-19 15:14:00) [3]Задам вопрос по другому.
Можно ли каким-то образом сохранить картинку в потоке BLOB через параметры, так как это делается с текстом?
> ParamByName('OPIS').AsBlob:=RichEdit1.Lines.Text;
Id (2006-09-18 16:33:00) [4]Вот это нашел на 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'"
Подскажите как правильно?
Desdechado (2006-09-18 16:05:00) [5]SaveToStream
то же самое, что и при чтении, только наоборот
не дубли, забанят!
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1158580517&n=18
Id (2006-09-18 16:02:00) [6]Выскакивает ошибка "Unsupported feature"