_ConnectionPrt m_pConnection;
_RecordsetPtr  m_pRecordset;
BYTE mmm[300];
...//部分初始化代码省略
...//为把mmm[300]的值保存到数据库中
...//这样做对不对?VARIANT varMMM;
SAFEARRAY *pMMM;
SAFEARRAYBOUND MMMbound[1];
MMMbound[0].lLbound=0;
MMMbound[1].cElements=300;
pMMM=SafeArrayCreate(VT_UI1,1,MMMbound);
for(long j=0;j<300;j++)
    SafeArrayPutElement (pMMM, &j, MMM);
    varMMM.vt = VT_ARRAY | VT_UI1;
    varMMM.parray = pMMM;
    m_pRecordset->GetFields()->GetItem("mmm")->AppendChunk(varMMM);
    m_pRecordset->Update();
//"mmm"为数据库中一个字段数据类型为ole对象
//这段代码有什么问题,请指教

解决方案 »

  1.   

    for(long j=0;j<300;j++)
        SafeArrayPutElement (pMMM, &j, MMM);
        varMMM.vt = VT_ARRAY | VT_UI1;
        varMMM.parray = pMMM;
        m_pRecordset->GetFields()->GetItem("mmm")->AppendChunk(varMMM);
        m_pRecordset->Update();
    应为
    for(long j=0;j<300;j++)
    {
        SafeArrayPutElement (pMMM, &j, MMM);
        varMMM.vt = VT_ARRAY | VT_UI1;
        varMMM.parray = pMMM;
        m_pRecordset->GetFields()->GetItem("mmm")->AppendChunk(varMMM);
        m_pRecordset->Update();
    }
      

  2.   

    哈哈,这个问题我问了好多人都没解决,最后自己解决
    你把
    VARIANT varMMM;
    改成
    _variant_t varMMM;
    就可以了
    我要100分
      

  3.   

    请问lin2002()
    您的代码和我的一样,为什么你能通过,我不能?
    请问LoolSail(ff):
    您试过没有?(您要是试过,我马上兑现分数,但有一点,你要的分数太高,这样没有别人的份了)
    顺便问一下,为什么我把这数据存成一个文件,然后读取文件,同样是用VARIANT varMMM,结果是保存成功?
      

  4.   

    to:LookSail
    我只能给你50分,
    我的问题,你只回答了一半