delphi 实现数据库读取图片文件


本文整理自网络,侵删。

 procedure TForm1.Button1Click(Sender: TObject); 
// 插入图片过程
var Stream:TMemoryStream;
 Img: TImage;
begin
try Img := TImage.Create(nil);
Stream := TMemoryStream.Create; // 创建内存流
Img.Picture.LoadFromFile(FileName);
 Img.Picture.Graphic.SaveToStream(Stream); // Image1.Picture.Graphic.SaveToStream(Stream); // 将图片保存到内存流中
adoquery1.Close; adoquery1.SQL.Clear;
adoQuery1.SQL.Add('Insert into tbltemp (Image) values (:photo)'); // 进行插入操作
adoQuery1.Parameters.ParamByName('photo').LoadFromStream(Stream,ftBlob); // 读取保存的内存图
adoquery1.ExecSQL;
 finally Stream.Free; // 释放内存流
end;
end;
procedure TForm1.Button2Click(Sender: TObject); //读取图片过程
var Stream:TMemoryStream;
Jpg:TjpegImage;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text:='SELECT * FROM tbltemp'; // 查询图片
ADOQuery1.Open;
if not ADOQuery1.FieldByName('Image').IsNull then
begin
Stream:=TMemoryStream.Create ;
Jpg:=TjpegImage.Create ;
TBlobField(ADOQuery1.FieldByName('Image')).SaveToStream(Stream); // 显示的转换为BlobField并保存到内存流
Stream.Position :=0;
jpg.LoadFromStream(Stream); // 加载图片
image2.Picture.Assign(Jpg);
end else
begin
image2.Picture :=nil;
end;
end;

相关阅读 >>

Delphi 计算ip地址范围

Delphi tms web core messagedlg对话框 yes no

Delphi中如何设置更改编译生成的exe文件的保存位置

Delphi获取进程占用内存

Delphi firedac 下的 sqlite [8] - 自定义函数

delph hash类

Delphi下用cdo发送邮箱实例(授权码cdo发送邮箱的解决办法)

Delphi 正则判断是否包含数字

Delphi case 语句中使用字符串

Delphi datasanp的控制老大-dsserver

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...