各位高手帮帮我

ttlyzq 2004-03-16 08:15:14
我在ACCESS中利用TBlobStream存取图像,为什么每次读取时如果图片有一点大的话就会出现异常 exception class EJPEG with message 'JPEG error #53' 不知道这是怎么回事,以下是部分源码
sql := 'select fPhoto from tbBase where fCode = ''' + addbasic.Edit1.Text + '''';
query.Close;
query.SQL.Clear;
query.SQL.Add(sql);
query.Open;
//paramstr()获取一个命令行参数
if(query.FieldByName('fPhoto').IsNull = false) then
begin
try

FileStream := TFileStream.Create(PCHAR(ExtractFilePath(ParamStr(0)) + 'temp\Display.jpg'),fmCreate);
//建立一个临时文件用于存放图像
BlobStream := TBlobStream.Create(TBlobField(Query.FieldByName('fPhoto')),bmRead);
FileStream.CopyFrom(BlobStream,BlobStream.Size);
FileStream.Free;
BlobStream.Free;
sleep(1000);
addbasic.Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'temp\Display.jpg');

except
// query.First;
// addbasic.Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'temp\Default.jpg');
// query.FieldByName('fPhoto').Assign(addbasic.Image1.Picture.Graphic);
showmessage('图像过大或图片格式有错误!');
exit;
end;
帮帮我
...全文
39 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
web700 2004-03-16
  • 打赏
  • 举报
回复
在非技术区有我的一篇文章, 看看吧, 我刚搞定的
ttlyzq 2004-03-16
  • 打赏
  • 举报
回复
这个我清楚,我的目的是想往ACCESS数据库里加信图片
henreash 2004-03-16
  • 打赏
  • 举报
回复
不用现存在文件中吧,你的目的只是在Image中显示图片而已.
bmp:=bitmapstream.create(........);
bmp.loadfromstream(BlobStream);
addbasic.Image1.Picture.bitmap:=bmp;
你试试吧,思路是这样的.自己修改一下

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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