我在项目中使用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_curve
是CByteArray
成员,在写入之前有6040个字节。打开此记录集并查找记录时没有问题
这是我使用的RFX功能:
RFX_Binary(pFX, _T("[velo_curve]"), m_velo_curve, 65535);
其中velo_curve
是BLOB
列,最大容量为65535字节
如何将6040字节一次性写入列中?
此外,如果您发现任何错误,请报告任何错误。提前致谢。
答案 0 :(得分:0)
这是因为我正在使用HeidiSQL来查看数据,并且它会自动添加分隔符LEFT
以防止加载缓慢。所有6040字节都已正确写入BLOB列
问题已经结束。