在DELPHI中怎样把图片存入SQL SERVER的image字段中?

smalltang 2003-04-08 07:16:58
高手请教一下
procedure TForm1.Button2Click(Sender: TObject);
var MS:TMemoryStream;
begin
Image1.picture.loadfromfile(FileName);
table1.Open;
table1.Last;
table1.insert;
Image1.Picture.Bitmap.SaveToStream(MS);
MS.Position:=0;
(table1.FieldByName('Image') As TBlobField).LoadFromStream(MS);
table1.Post;
table1.Close;
end;
为什么一运行到(table1.FieldByName('Image') As TBlobField).LoadFromStream(MS);就出错。
能不能提点一下。
应该用流的方式如何实现在DELPHI中把图片存入SQL SERVER的image字段中?
...全文
185 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
smalltang 2003-04-10
  • 打赏
  • 举报
回复
我的图片是bmp,存的问题我已经解决,我现在是从sql中把图片读出来显示在image控件的时候,图片只有一些模糊的底纹,好象失真了。高手,请问怎么样让它读出来不失真?
以下是我的取的程序
procedure TForm1.Button4Click(Sender: TObject);
var MS:TMemoryStream;
begin
MS:=TMemoryStream.Create;
with query1 do
begin
close;
sql.clear;
sql.add('select image from table1 where No=0');
open;
end;
(query1.FieldByName('Image') As TBlobField).SavetoStream(MS);
MS.Position:=0;
Self.Image1.Picture.Bitmap.LoadFromStream(MS);
MS.SetSize(0);

end;
oklida 2003-04-10
  • 打赏
  • 举报
回复
你的图片格式是bmp还是jpg?
var
Stream : TMemoryStream;
begin
Stream :=TMemoryStream.Create;
Stream.LoadFromFile('d:\test\001.jpg');
ADOTable1.append;
(ADOTable1.Fieldbyname('照片') as TBlobField).LoadfromStream(stream);
ADOTable1.Post;
Stream.Free;
end;
这段代码是把JPG图片存入SQL SERVER的image字段中
smalltang 2003-04-10
  • 打赏
  • 举报
回复
我从数据库里读出image数据显示到image控件中,图片是bmp格式的。为什么失真,程序如下:
procedure TForm1.Button4Click(Sender: TObject);
var MS:TMemoryStream;
begin
MS:=TMemoryStream.Create;
with query1 do
begin
close;
sql.clear;
sql.add('select image from table1 where No=0');
open;
end;
(query1.FieldByName('Image') As TBlobField).SavetoStream(MS);
MS.Position:=0;
Self.Image1.Picture.Bitmap.LoadFromStream(MS);
MS.SetSize(0);

end;
smalltang 2003-04-08
  • 打赏
  • 举报
回复
是不是用Image1.Picture.Bitmap.SaveToStream(MS)没把文件读进去?
在调试的时候看到MS.Size=0?
smalltang 2003-04-08
  • 打赏
  • 举报
回复
我开始创建过的也不行。
Dphiwarrior 2003-04-08
  • 打赏
  • 举报
回复
如果在线,请赶快解决以下读取得问题吧
Dphiwarrior 2003-04-08
  • 打赏
  • 举报
回复
ms没有创建
wusikaishanshan 2003-04-08
  • 打赏
  • 举报
回复
难道说就没有在SQL SERVER里的汉字一样直接输出吗?
wetrust 2003-04-08
  • 打赏
  • 举报
回复
用OLE Stream

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧