INSERT INTO tA (id, BolbCol) VALUES (1, '1234567890,然后是两个#0 (ASCII 0)\0\0')你插入后用 MySQL-Front 再查看一下结果吧!!

解决方案 »

  1.   

    恩我是个BYTE tset[16] 的buffer
    中间有一个是byte是0,我是用appendchunk方法,那是不是要把这个byte改成'\0'?
    我尝试过,好像不行啊代码如下,其中adduser_info.MD5就是那个byte数组
    SAFEARRAY FAR *pSafeArray = NULL;
    SAFEARRAYBOUND rgsabound[1];rgsabound[0].lLbound = 0;
    rgsabound[0].cElements = 16;
    pSafeArray = SafeArrayCreate(VT_UI1, 1, rgsabound);

    for (long i = 0; i < 16; i++)
    {
        UCHAR &chData = ((UCHAR*)adduser_info.MD5)[i];
        HRESULT hr = SafeArrayPutElement(pSafeArray, &i, &chData);
    }
    _variant_t varChunk;
    varChunk.vt = VT_ARRAY | VT_UI1;
    varChunk.parray = pSafeArray; m_pRecordset->AddNew();

    HRESULT hr=m_pRecordset->Fields->GetItem("md5")->AppendChunk(varChunk);
    麻烦大哥看看  感谢阿