写二进制数据时只写入大约240个字节

时间:2017-09-01 03:41:44

标签: mysql mfc odbc mariadb

我在项目中使用MFC ODBC和MariaDB。但是,当我尝试写二进制数据时,它只会写入大约240个字节然后完成写入。这是我使用的代码:

            TRY
        {
        CLocalHistoryCurve rs_curve(NULL);
        if (rs_curve.IsOpen())
        {
            rs_curve.Close();
        }
        rs_curve.m_strFilter.Format(_T("furnace_number='%s' AND batch_number='%s' AND tube_number=%d"),
            str_f, str_b, n_t);
        rs_curve.Open();
        rs_curve.MoveFirst();
        rs_curve.Edit();
        rs_curve.m_velo_curve.SetSize(arr.GetSize());
        rs_curve.m_velo_curve.Copy(arr);
        rs_curve.Update();
        rs_curve.Close();
        }
            CATCH(CDBException, e)
        {
            wcout << e->m_strError.GetString() << endl;
        }
        END_CATCH

其中rs_curve是一个CRecordset派生类,其中包含RFX。 m_velo_curveCByteArray成员,在写入之前有6040个字节。打开此记录集并查找记录时没有问题 这是我使用的RFX功能:

    RFX_Binary(pFX, _T("[velo_curve]"), m_velo_curve, 65535);

其中velo_curveBLOB列,最大容量为65535字节 如何将6040字节一次性写入列中? 此外,如果您发现任何错误,请报告任何错误。提前致谢。

1 个答案:

答案 0 :(得分:0)

这是因为我正在使用HeidiSQL来查看数据,并且它会自动添加分隔符LEFT以防止加载缓慢。所有6040字节都已正确写入BLOB列 问题已经结束。