64,663
社区成员
发帖
与我相关
我的任务
分享
long lDataSize = m_pRecordset->GetFields()->GetItem("StdLib")->ActualSize;/// ///得到数据的长度
char *pData = NULL;//new char[lDataSize];
//BYTE* m_pBMPBuffer = new BYTE[lDataSize];//NULL;
if(lDataSize > 0)
{
_variant_t varBLOB;
varBLOB = m_pRecordset->GetFields()->GetItem("StdLib")->GetChunk(lDataSize);
if(varBLOB.vt == (VT_ARRAY | VT_UI1)) ///判断数据类型是否正确
{
//char pData[] =
SafeArrayAccessData(varBLOB.parray,(void **)&pData);
vector<StdLib2> StdTest2;
StdLib2 *pLib;
long pLiblen = sizeof(StdLib2);
char *pData2 = new char[pLiblen];
for(int i = 0;i < lDataSize/sizeof(StdLib2) ;i++)
{
memcpy(pData2,pData+(i*pLiblen),pLiblen);
pLib = (StdLib2*)((void *)pData2);
StdTest2.push_back(*pLib);
}
delete[] pData2;
StdLid_StringToCString(&StdTest2,StdTest);
SafeArrayUnaccessData (varBLOB.parray);
//StdTest2.clear();
//delete[] pVector;
//delete StdTest2;
}
}