vc往mysql插入blob数据的问题

e_fresh 2009-03-04 04:41:03
开发环境:VS2005
mysql 版本:5.1.31 community server
使用ADO操作mysql,ODBC驱动版本是:mysql-connector-odbc-5.1.5-win32

用的同一段代码能往ACCESS里插,却不能往MYSQL中插,执行后BLOB字段为NULL。

核心代码如下:
VARIANT varBLOB;
SAFEARRAY *psa;
SAFEARRAYBOUND rgsabound[1];

rgsabound[0].lLbound = 0;
rgsabound[0].cElements = length;
psa = SafeArrayCreate(VT_UI1,1,rgsabound);
for(long i = 0;i<(long)length;i++)
{
HRESULT hr = SafeArrayPutElement(psa,&i,ptr++);
}
varBLOB.vt = VT_ARRAY | VT_UI1;
varBLOB.parray = psa;
m_pRecordset->GetFields()->GetItem("APPENDIX")->AppendChunk(varBLOB);
m_pRecordset->Update();
m_pRecordset->Close();
delete [] blob;
...全文
132 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
juliajujuli 2009-03-16
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20090316/11/ac003f13-d1da-49a5-b12f-90e57cbe5ac9.html?seed=1153513049
juliajujuli 2009-03-12
  • 打赏
  • 举报
回复
我的也不能插,代码跟你几乎一样,不知道为什么,发帖问也没人答~你知道为什么了没啊?
e_fresh 2009-03-04
  • 打赏
  • 举报
回复
上面的代码发得有误

m_pRecordset->AddNew();

m_pRecordset->PutCollect("IIF_ID",inputIP.ID);

m_pRecordset->PutCollect("IIF_NAME",_variant_t(inputIP.name));

m_pRecordset->PutCollect("IIF_TYPE",_variant_t((int)inputIP.type));

m_pRecordset->PutCollect("RUN_STATUS",_variant_t((int)0));

m_pRecordset->PutCollect("APPENDIX_LEN",_variant_t((int)6));

VARIANT varBLOB;

SAFEARRAY *psa;

SAFEARRAYBOUND rgsabound[1];



rgsabound[0].lLbound = 0;

rgsabound[0].cElements = length;

psa = SafeArrayCreate(VT_UI1,1,rgsabound);

for(long i = 0;i<(long)length;i++)

{

HRESULT hr = SafeArrayPutElement(psa,&i,ptr++);

}

varBLOB.vt = VT_ARRAY | VT_UI1;

varBLOB.parray = psa;

m_pRecordset->GetFields()->GetItem("APPENDIX")->AppendChunk(varBLOB);

m_pRecordset->Update();

m_pRecordset->Close();

delete [] blob;

4,011

社区成员

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

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