如何将图片保存在本地数据库中(50分)

  • 主题发起人 主题发起人 robert688
  • 开始时间 开始时间
R

robert688

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把本地的一个图片保存入本地数据DB中.
我看了数据库结构,应该用GRAPHIC的字段属性比较合适吧.
现在想问大家的就是,如果把该图片保存进入数据库中,怎么读取该字段?

谢谢!
 
TBlobField(YourField).SavetoStream
 
数据库:SQL Server 2000 [ADO]
字段类型: Image

// 保存到数据库
procedure ImageExecAddNew;
Var
FName : String;
BlobStream : TADOBlobStream;
begin
FName := 'C:/1.jpg';
.........
Append;
BlobStream := TADOBlobStream.Create(TBlobField(FieldByName('IMG_Data')),bmWrite);
Try
BlobStream.LoadFromFile(FName);
Finally
BlobStream.Free;
End;
Post;
end;


// 读取图片
BlobStream := TADOBlobStream.Create(TBlobField(FieldByName('IMG_Data')),bmRead);
try
JPEGImage := TJPEGImage.Create;
try
JPEGImage.LoadFromStream(BlobStream);
ImageView.Picture.Assign(JPEGImage);
finally
JPEGImage.Free;
end;
finally
BlobStream.Free;
end;
 
用流保存到二进制字段里
 
先问下是什么数据库?
SQL2000 和 ORACLE 有不同的处理方法
 
你好,是DELPHI自带的数据库Paradox7
 
var
Mem: TMemoryStream;
Jpg: TJpegImage;
begin
Mem:=TMemoryStream.Create;
Jpg:=TJpegImage.Create;
Jpg.Assign(Image1.Picture.Bitmap);
Jpg.SaveToStream(Mem);
Image1.Picture.Bitmap.SaveToStream(Mem);
TBlobField(ADOTable1.FieldByName('图片')).LoadFromStream(Mem);
ADOTable1.Post;
Mem.Free;
Jpg.Free;
end;
这段代码是从我的一段程序中摘出来的。
 
帮顶!

╭=========================================╮

80G海量源代码,控件,书籍全免费狂下不停!

http://www.source520.com

╰=========================================╯
 
多人接受答案了。
 
后退
顶部