利用delphi7从数据库中读取图片的源程序 及所需要的控件及其属性

 我来答
商务通fd612
2011-05-23 · TA获得超过513个赞
知道小有建树答主
回答量:121
采纳率:100%
帮助的人:105万
展开全部
好久没有回答问题了,分有点底~~

使用ado控件来连接Access数据库,其中主要字段为:
字段名称    类型    描述
  id    自动编号   主键值
img OLE对象   用来保存图片数据

//保存图片到数据库中
procedure TForm1.Button1Click(Sender: TObject);
var
F:File of Byte;
size:Longint; //文件大小
FilePath,time:string; //文件时间
begin
FilePath:=ExtractFilePath(Paramstr(0))+'demo.jpg';//图片地址为当前目录下
AssignFile(F,FilePath);
reset(F);
size:=Filesize(F);//获取文件大小。
time:=DatetimetoStr(FileDateToDateTime(FileAge(FilePath)));//获取文件创建时间。
closefile(F);
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from Image');
adoquery1.Open;
adoquery1.Insert;
adoquery1.FieldByName('FileName').AsString:=ExtractFileName(FilePath); //存储文件名称
adoquery1.FieldByName('FileKind').AsString:=ExtractFileExt(FilePath); //存储文件扩展名。
adoquery1.FieldByName('FileSize').AsInteger:=size; //存储文件的大小。
adoquery1.FieldByName('FileTime').AsString:=time; //存储文件的创建时间。
adoquery1.FieldByName('SaveTime').AsDateTime:=now();//存取文件的存储时间
TBlobField(ADOquery1.FieldByName('FileContent')).LoadFromFile(FilePath);
ADOquery1.Post;
end;

//使用Timage控件来显示数据库中的图片
procedure TForm1.Button2Click(Sender: TObject);
Var
Ms:TStream;
jpg:Tjpegimage;
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select top 1 * from Image order by id desc');
adoquery1.Open;
Ms:=TStream.Create;
MS:=adoquery1.CreateBlobStream(adoquery1.FieldbyName('FileContent'),bmRead);
Ms.Position :=0;
jpg:=Tjpegimage.Create;
Jpg.LoadFromStream(Ms);
Image1.Picture.Assign(Jpg);
jpg.Free;
MS.Free;
end;
akexw
2011-05-24
知道答主
回答量:20
采纳率:0%
帮助的人:2.1万
展开全部
你用express控件就可以了,全是封装好的
追问
麻烦你说的详细点  谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式