ado读取二进制文件

ADO为这些BLOB字段提供了两种方法GetChunkAppendChunk,通过它们,你可以象读写文件一样,把其它文件的内容写进去读出来。

 

 

 

   ///签名证书数据入库

   

        memset(pBuf,0,2000);

        memcpy(pBuf,stCert.CertSign,stCert.CertSignLen);

       

        VARIANT varBLOB;

        SAFEARRAY *psa;

        SAFEARRAYBOUND rgsabound[1];

 

        if(pBuf)

        {

            rgsabound[0].cElements = stCert.CertSignLen;

 

            psa = SafeArrayCreate(VT_UI1, 1, rgsabound); ///创建SAFEARRAY对象

 

            for (long i = 0; i < (long)(stCert.CertSignLen); i++)

 

                SafeArrayPutElement (psa, &i, pBuf+i); ///将pBuf指向的二进制数据保存到SAFEARRAY对象psa中

 

            varBLOB.vt = VT_ARRAY | VT_UI1;///将varBLOB的类型设置为BYTE类型的数组

 

            varBLOB.parray = psa; ///为varBLOB变量赋值

            pRecordset->Fields->GetItem("CertSign")->AppendChunk(varBLOB);

        }

        pRecordset->Update();

        HRESULT H=pRecordset->Close();

    }

    catch (_com_error &e)

    {

        ShowError(e,"AddCertToDB");

        return FALSE;

    }

    return TRUE;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值