我的代码是
pRecord->Open(_variant_t(strSQL),theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);pRecord->AddNew(); 
BYTE pBuffer[] = { 0xb1, 0xb1, 0xb1, 0xb1, 0, 0xb1 }
int nSize = sizeof (pBuffer);BYTE *pBuf =  pBuffer;
_variant_t varBLOB;
SAFEARRAY *psa;
SAFEARRAYBOUND rgsabound[1];if (pBuf)
{
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = nSize;
psa = SafeArrayCreate(VT_UI1, 1, rgsabound); for (long i = 0; i < (long)nSize; i++)
{
         SafeArrayPutElement (psa, &i, pBuf++);  
} varBLOB.vt = VT_ARRAY | VT_UI1;   varBLOB.parray = psa;  pRecord->GetFields()->GetItem("data")->AppendChunk(varBLOB);
}
pRecord->Update();提示出错Unknown error 0x800A0C93是什么原因呢?谢谢

解决方案 »

  1.   

    (0x800A0C93) 
    Remote ADO Error: The operation requested is not allowed in this context 
    操作不允许,是不是引起了什么冲突
      

  2.   

    我建的那个表就2个字段
    一个是ID
    另一个是 data  是varbinary 类型 长度是50
    跟踪是在pRecord->GetFields()->GetItem("data")->AppendChunk(varBLOB);出错了
      

  3.   

    把pRecord->GetFields()->GetItem("data")->AppendChunk(varBLOB);分开试试
      

  4.   

    当我把数据库的data字段类型改为image就可以了varbinary应如何储存呢?
      

  5.   

    看看这个帖子,也许有点帮助
    http://community.csdn.net/Expert/topic/2973/2973953.xml
      

  6.   

    varbinary的最大储存也是8000  猜想是你的数据太大引起的冲突
      

  7.   

    谢谢  runall(龙行天下)  我想可能是这个原因 laiyiling(最熟悉的陌生人)  我存的数据自有BYTE pBuffer[] = { 0xb1, 0xb1, 0xb1, 0xb1, 0, 0xb1 }
    这些啊