MySql编程错误记录
一、获取float类型字段失败
1. 错误描述:
利用ADO读取MySql的float类型数据,
数据库中也是定义的float类型,
可是用ADO获取这个数据就是一个类似4.1723251e-008的值。
数据集除了这一列,其他类型的列,如nchar(32)以及int类型等,均没有出现错误。
代码如下:
CADORecordset cRd;
float ddd = 0;
cRd.GetFieldValue("fltddd",ddd);
此时ddd的值为类似4.1723251e-008的值
解决方案:
在bool CADORecordset::GetFieldValue(LPCTSTR lpFieldName, float& nValue)函数中,将
vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->Value; 中的Value改为->GetValue();
代码:
//首先得到VARIANT类型的字段值
//vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->Value;
vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->GetValue();