如何将BMP图片直接存入SQL SERVER中的数据库?(20分)

  • 主题发起人 主题发起人 小明儿
  • 开始时间 开始时间

小明儿

Unregistered / Unconfirmed
GUEST, unregistred user!
RT
如何将Image1中的Picture在数据表存储的时候直接存入数据表的IMAGE图形字段中!谢谢
 
用dbimage不就行了
 
var
MS: TMemoryStream;
begin
MS:=TMemoryStream.create;
Image1.Picture.Bitmap.SaveToStream(MS);
MS.Position:=0;
Table1.Append;
//在数据库中添加一条记录
TBlobField(Table1.FieldbyName(’image’)).LoadFromStream(MS);
Table1.Post;
//将所作的更新写入数据库
end;
 
to firstkkk
请问如何将数据库的图片放入IMAGE里呢?
 
小明儿:一次问清嘛!!

//把BMP,JPG图片文件保存到库里
procedure TInputResultForm.SpeedButton1Click(Sender: TObject);
var
JPeg: TJPegImage;
Bmp: TBitmap;
// ff: Tgraphicfield; //存放bmp的字段
mm: tmemorystream;
begin
inherited;
try
Bmp := TBitmap.Create;
JPeg := TJPegimage.Create;
mm:=Tmemorystream.create;
DM.adoExeAttch.Edit;
if OpenDialog1.Execute then
if UpperCase(copy(Opendialog1.FileName,length(Opendialog1.FileName)-2,3))='BMP' then begin
Bmp.LoadFromFile(Opendialog1.FileName);
JPeg.Assign(Bmp);
JPeg.savetostream(mm);
TBlobField(DM.adoExeAttch.FieldByName('Image1')).LoadFromStream(mm);
end else begin
JPeg.LoadFromFile(Opendialog1.FileName);
TBlobField(DM.adoExeAttch.FieldByName('Image1')).loadfromfile(Opendialog1.FileName);
end;
Image1.Picture.Assign(jpeg);
finally
JPeg.Free;
mm.free;
Bmp.Free;
end;
end;
//从库里读出来显示
procedure TInputResultForm.SpeedButton2Click(Sender: TObject);
var
m:TMemoryStream;
jpg:TJpegImage;
begin
inherited;
m := TmemoryStream.Create;
if TBlobField(DM.adoExeAttch.FieldByName('Image1')).BlobSize>0 then
try
(DM.adoExeAttchImage1 as TBlobField).SaveToStream(m);
jpg := TJpegImage.Create;
m.Position := 0;
jpg.LoadFromStream(m);
Image1.Picture.Assign(jpg);
jpg.Free;
except
showmessage('供应商上传的图片格式不正确,无法浏览!')
end else
Image1.Picture.Assign(nil);
m.Free;
end;

 
To jianguobu
inherited;
为什么要继承?
为什么在BMP释放的时候出错?
 

Similar threads

后退
顶部