其实主要的代码并不多,如下,我给你加了注释
BYTE* pData = new BYTE[100]; //你的数据指针
ULONGLONG lDataLen = 100; //你数据的长度
VARIANT varBLOB; //定义一个VARIANT变量, 用于向数据库保存二进制数据
SAFEARRAY *psa;
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = static_cast<ULONG>(lLen;);
psa = SafeArrayCreate(VT_UI1, 1, rgsabound); //创建SAFEARRAY对象
for (long i = 0; i < lDataLen;i++){
SafeArrayPutElement (psa, &i, pData +i); //将pBuf指向的二进制数据保存到SAFEARRAY对象psa中
}
varBLOB.vt = VT_ARRAY | VT_UI1; //将varBLOB的类型设置为BYTE类型的数组
varBLOB.parray = psa; //为varBLOB变量赋值
pRecordSet->GetFields()->GetItem("BLOBData")->AppendChunk(varBLOB);//加入BLOB类型的数据Top
AppendTruck
最新推荐文章于 2025-07-06 20:49:17 发布