我将jpe图片存入了access数据库中,然后通过以下代码在image中显示出来:
var
Stream: TMemoryStream;
Jpg: TJpegImage;
begin
Jpg := nil;
Stream := nil;
try
Stream := TMemoryStream.Create;
TBlobField(form2.adoTable1.FieldByName('picture')).SaveToStream(Stream);
if Stream.Size > 0 then begin
Jpg:=TJpegImage.Create;
Stream.Position:=0;
Jpg.LoadFromStream(Stream);
form2.Image1.Picture.Assign(Jpg);
end else
form2.Image1.Picture.Assign(nil);
except
form2.Image1.Picture.Assign(nil);
end;
jpg.Free;
Stream.Free;
不过总显示的是数据库中第一个记录中的图片,请问如果实现点到那个记录,就显示其图象呢?我想是不是dbgrid控件中有一个变量表示指向那一条记录,比如为number,那么改为
TBlobField(form2.adoTable1.FieldByName('picture').number).SaveToStream(Stream);就可以了????
var
Stream: TMemoryStream;
Jpg: TJpegImage;
begin
Jpg := nil;
Stream := nil;
try
Stream := TMemoryStream.Create;
TBlobField(form2.adoTable1.FieldByName('picture')).SaveToStream(Stream);
if Stream.Size > 0 then begin
Jpg:=TJpegImage.Create;
Stream.Position:=0;
Jpg.LoadFromStream(Stream);
form2.Image1.Picture.Assign(Jpg);
end else
form2.Image1.Picture.Assign(nil);
except
form2.Image1.Picture.Assign(nil);
end;
jpg.Free;
Stream.Free;
不过总显示的是数据库中第一个记录中的图片,请问如果实现点到那个记录,就显示其图象呢?我想是不是dbgrid控件中有一个变量表示指向那一条记录,比如为number,那么改为
TBlobField(form2.adoTable1.FieldByName('picture').number).SaveToStream(Stream);就可以了????
解决方案 »
- 关于delphi的if语句(有elseif吗)
- 怎么控制TabSheet的出现?
- GetTickCount怎么用??
- 菜鸟提问,面试题(听说是微软的)
- 高手指点
- 高分求教:如何在treeview中用鼠标拖动来改变节点位置?在线给分!
- 如何编程把 2000/XP 里面的 .reg 文件转换成 9x 下的 reg 文件?
- 有什么办法可以在Delphi调试情况下,让程序先捕获异常,而不是Delphi先捕获异常!否则,一但出现异常就没法调试了!!!
- 如何截取查找问题?
- 有人知道Delphi中有关于正则表达式支持的类吗,第三方的也可以。(无内容)
- 大家还是放宽心胸,不要被小人算计---写在cg1120君遭伤害之后
- 关于windowsAPI
procedure TForm2.DBGrid1CellClick(Column: TColumn);
procedure TForm2.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
两个过程中!