如何把一个图片输入到SQL SERVER数据库中的GRAPHIC字段中?(50分)

  • 主题发起人 主题发起人 moutocean
  • 开始时间 开始时间
M

moutocean

Unregistered / Unconfirmed
GUEST, unregistred user!
请给出例程,多谢1
 
Graphic字段好象只能存8K?不如用Image,可以无限大。
保存例程

var
Stm : TMemoryStream
begin
Stm := TMemoryStream.Create;
Stm.LoadFromFile('bmp.bmp');//如果是Stream就用LoadFromStream
Stm.Position=0;
Table.Edit;
TBlobField(Table.FieldByName('BITMAPFIELD')).LoadFromStream(Stm);
Table.Post;
Stm.Free;
end;

读出:

var
Stm : TMemoryStream
begin
Stm := TMemoryStream.Create;
TBlobField(Table.FieldByName('BITMAPFIELD')).SaveToStream(Stm);
//
//here, you do something with stream.
//
Stm.Free;
end;

如果你不能读出数据。你可以在BDE中把BLOB SIZE这个属性加大一些,它是指一次
传输给MSSQL的Binnary数据的大小,如果不够大,多余的数据就被截断了。可以用
1000来试,它以K为单位,1000就是1M,如果你的图象还要大,你看着办吧,不过,
不用压缩的方法,我想,就是能存,也不实用。几个照片就把硬盘装满了。
 
多人接受答案了。
 
后退
顶部