如何向表单中备注型字段添加照片?
发布网友
发布时间:2022-05-11 19:05
我来回答
共1个回答
热心网友
时间:2023-08-15 12:06
不管是用什么数据库,存放图片的字段你采用字符类型,这一点肯定是不对的。而且,你没说明使用的数据库类型,采用的语言是什么;
下面是C++的处理方法:
下面这段程序用于将数据库中的图片读入到Image中:
((TBlobField*)(ADOQuery1->FieldByName("lk_sfz_photo")))->
SaveToFile("linshi2.jpg");
Image1->Picture->LoadFromFile("linshi2.jpg");
Image1->Width=Image1->Picture->Width;
Image1->Height=Image1->Picture->Height;
Image1->Visible=true;
下面这段程序用于将Image中的图片写入到数据库:
if(bLoadImage==true){
TMemoryStream *pms=new TMemoryStream();
TJPEGImage *jpg=dynamic_cast<TJPEGImage*>(Image1->
Picture->Graphic);
if(jpg!=NULL)//是JPEG类型的图像
jpg->SaveToStream(pms);//将图像数据写入内存流
else//是位图
Image1->Picture->Bitmap->SaveToStream(pms);//将图像数据
//写入
//内存流
//从内存流中装载图像数据
((TBlobField*)(ADOQuery1->FieldByName("lk_sfz_photo")))->
LoadFromStream(pms);
delete pms;
}
ADOQuery1->Post();
上面的代码需要在前面加载两个包:
#include <io.h>
#include <jpeg.hpp>