请高手帮忙!我想将JPEG图象存入MS SQL Image字段,如何做?

lihai_feng 2000-07-12 02:23:00
请高手帮忙!我想将JPEG图象存入MS SQL Image字段,如何做?,用BMP图象很好解决,但如果想存JPEG,它就老报错,"bitmap image is not valid"
...全文
232 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianying 2001-11-06
  • 打赏
  • 举报
回复
kxy的方法在我这儿好象成功不了 :(
kxy 2000-07-13
  • 打赏
  • 举报
回复
不用管什么图像格式,全部当作二进制文件。
显示的时候,不要用 TDBImage(除非你要编辑此图像) 用Image
保存到sql
var
TheStream : TMemoryStream;
begin
....
TheStream.LoadFromFile(...);
...
TBlobFiled(Table1.FieldByname(...)).LoadFromStream(TheStream);
....
end;

或者 TBlobFiled(Table1.FieldByname(...)).LoadFromFile(TheFile);

读出 使用 TBlobField(...).SaveToStream; or .SaveToFile;

qiuzhi 2000-07-13
  • 打赏
  • 举报
回复
关注
huliao 2000-07-13
  • 打赏
  • 举报
回复
关注
IAmKylix 2000-07-13
  • 打赏
  • 举报
回复
GIF你有好办法吗?
Hank 2000-07-13
  • 打赏
  • 举报
回复
可能KXY的方法可行,不过问题是很烦人——ACCESS97及SQL SERVER的图像均不能在DELPHI中直接显示,必须用流来操作!因为DELPHI不辨认JPEG的文件流(BMP和GIF可以),估计这种方法不可行!
用TMemoryStream估计可以!
alin 2000-07-12
  • 打赏
  • 举报
回复
uses jpeg;

procedure Tfrm_Swatch.bb_AddPicClick(Sender: TObject);
Var
PicName,ExtName:String;
JpegImage:TJpegImage;
BitMap:TBitMap;
begin
if OpenPictureDialog.Execute then
Begin
tb_Pic.Append;
PicName :=OpenPictureDialog.FileName;
ExtName:=ExtractFileExt(PicName);
if UpperCase(ExtName) ='.BMP' then
begin
BitMap:=TBitMap.Create;
Try
BitMap.LoadFromFile(PicName);
dbi_Pic.Picture.Graphic.Assign(BitMap);//dbi_Pic是TDBImage控件
tb_Pic.Post;
finally
BitMap.Free;
End;
end;
if (UpperCase(ExtName) ='.JPG') or
(UpperCase(ExtName) ='.JPEG')then
begin
JpegImage:=TJpegImage.Create;
Try
JpegImage.LoadFromFile(PicName);
dbi_Pic.Picture.Graphic.Assign(JpegImage);
tb_Pic.Post;
finally
JpegImage.Free;
End;
end;
end;
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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