老大难问题!JPEG#Error 52!各位高手!

elpep 2007-10-21 01:06:12
将jpeg格式的图片存到Access数据库中,
用TDBImage组件时,系统提示"Bitmap image is not valid."。
下位高手 ccrun 老妖的回复

在DBImage中使用JPG图片的方法:

除了加入#include <Jpeg.hpp>之外,还需要将DBImage1的属性AutoDisplay设为false,
在DBImage1对应的Table或者Query控件的事件AfterScroll里写代码:

void __fastcall TForm1::Table1AfterScroll(TDataSet *DataSet)
{
TStream* Stream = DBImage1->DataSource->DataSet
->CreateBlobStream(DBImage1->DataSource->
DataSet->FieldByName(DBImage1->DataField),
bmRead);
TJPEGImage* Jpeg = new TJPEGImage;
Jpeg->LoadFromStream(Stream);
DBImage1->Picture->Bitmap->Assign(Jpeg);
delete Stream;
}

可,Run的时候说"Jpeg error #52"!
...全文
848 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wt_sanlian 2008-05-08
  • 打赏
  • 举报
回复
应当选判断一下图片字段是否为空值!
CUMBER 2008-05-07
  • 打赏
  • 举报
回复
是不是你的图片本身的问题,保存之前进行判断是否为正确的图片格式,好象遇到过保存图片出错信息,都是图片损坏导致。
coolcalf 2007-10-22
  • 打赏
  • 举报
回复
if(OpenPictureDialog1->Execute());
{
AnsiString MyFilesExtension = UpperCase(ExtractFileExt(OpenPictureDialog1->FileName));
if(MyFilesExtension==".JPG")
{
TJPEGImage *jpg=new TJPEGImage();
jpg->LoadFromFile(OpenPictureDialog1->FileName);
Clipboard()->Assign(jpg);
DBImage1->DataSource->DataSet->Edit();
DBImage1->PasteFromClipboard();
DBImage1->DataSource->DataSet->Post();
delete jpg;
}


数据类型一定要是image
存jpeg到SQL数据库:
if(OpenPictureDialog1->Execute())
{
ADOQuery1->Edit();
TBlobField *Field = (TBlobField*)ADOQuery1->FieldByName("photo");
Field->LoadFromFile(OpenPictureDialog1->FileName);
ADOQuery1->Post();
}

//以下是从数据库读jpeg,并显示在TDBImage控件中
#include <clipbrd.hpp>

TStream *Stream1;
TJPEGImage *Pjp;

Pjp=new TJPEGImage();

ADOQuery1->Open();
try
{
Stream1=ADOQuery1->CreateBlobStream(ADOQuery1->FieldByName("treenodes"), bmRead);//treenodes是存放jpeg内容的字段,它的类型一定要用image
Pjp->LoadFromStream(Stream1);
//Image2是TDBImage组件,它的DateSource,和FieldName属性要空着
Image2->Picture->Bitmap->Assign(Pjp);
delete Stream1;
}
__finally
{
ADOQuery1->Close();
delete Pjp;
}

1,178

社区成员

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

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