利用delphi7从数据库中读取图片的源程序 及所需要的控件及其属性
2个回答
展开全部
好久没有回答问题了,分有点底~~
使用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;
使用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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询