如何在vc里用ado存储图片 请问各位,我在sql里建了一张表,并且有个字段为image,请问怎么在vc里用ado进行图片的存取;另我在网上看到不少人说只需要在数据库中存放图片的文件名,不存放物理路径,用的时候再去找相对路径,请问各位这两种方式怎么实现呀?小弟在线的等~! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 _ StreamPtr pStm; pStm.CreateInstance("ADODB.Stream"); variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR); pStm->PutType(adTypeBinary);//类型为二进制 //得到字段内容的大小 // long lDataSize = m_pRecordset->GetFields()->GetItem("photo")->ActualSize; //m_pRecordset为一个打开的纪录集对象,含有photo这个blob字段 pStm->Open( varOptional, adModeUnknown, adOpenStreamUnspecified, _bstr_t(), _bstr_t()); //打开pStm pStm->Write(_variant_t(m_pRecordset->GetFields()->GetItem("photo")->Value)); //把photo字段的内容写入pStm pStm->SaveToFile("c:\\publogo.jpg", adSaveCreateOverWrite); pStm->Close();这是读取图片。 _StreamPtr pStm; pStm.CreateInstance("ADODB.Stream"); variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR); // long lDataSize = m_pRecordset->GetFields()->GetItem("photo")->ActualSize; pStm->PutType(adTypeBinary; pStm->Open( varOptional, adModeUnknown, adOpenStreamUnspecified, _bstr_t(), _bstr_t()); pStm->LoadFromFile("c:\\book.gif");//读入文件 variant_t varBLOB=pStm->Read(adReadAll); m_pRecordset->GetFields()->GetItem("photo")->Value= varBLOB;这是写入图片。 在数据库中存放图片的文件名,不存放物理路径,用的时候再去找相对路径,这有什么不好办的?比如你在字段中放入“../1.bmp”,在vc中使用的时候,只要LoadBitmap这个路径就能显示了。路径字段作为字符串类型就可以了 按钮控件ID修改后出现问题 图像yuv 空间的问题 如何使编辑框文字垂直居中 mfc的LISTBOX中ITEM如何对应多个不同类型的数据?用结构体? 急-------------------- 高手,斑竹给帮帮忙---解决动态连接库的一个问题. 最简单的问题,请进 简单问题:如何给一个控件添加图片背景? 把数据从access导出到文本文件,为什么不可以选择指定的字段呢? 请问如何清除和保存:MBR 新手!如何新建一个GUI的MFC? 屏蔽消息的问题
pStm.CreateInstance("ADODB.Stream");
variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR);
pStm->PutType(adTypeBinary);//类型为二进制
//得到字段内容的大小
// long lDataSize = m_pRecordset->GetFields()->GetItem("photo")->ActualSize;
//m_pRecordset为一个打开的纪录集对象,含有photo这个blob字段
pStm->Open( varOptional,
adModeUnknown, adOpenStreamUnspecified, _bstr_t(), _bstr_t());
//打开pStm
pStm->Write(_variant_t(m_pRecordset->GetFields()->GetItem("photo")->Value));
//把photo字段的内容写入pStm
pStm->SaveToFile("c:\\publogo.jpg", adSaveCreateOverWrite);
pStm->Close();
这是读取图片。
_StreamPtr pStm;
pStm.CreateInstance("ADODB.Stream");
variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR);
// long lDataSize = m_pRecordset->GetFields()->GetItem("photo")->ActualSize;
pStm->PutType(adTypeBinary; pStm->Open( varOptional,
adModeUnknown, adOpenStreamUnspecified, _bstr_t(), _bstr_t());
pStm->LoadFromFile("c:\\book.gif");//读入文件
variant_t varBLOB=pStm->Read(adReadAll);
m_pRecordset->GetFields()->GetItem("photo")->Value= varBLOB;
这是写入图片。