使用ODBC向SQL Server数据库中更新数据时总是提示"将数据类型 varchar 转换为 float 时出错",请教大家!
数据交换过程如下:
void CZ6Lj_testmsgTable::DoFieldExchange(CFieldExchange* pFX)
{
//{{AFX_FIELD_MAP(CZ6Lj_testmsgTable)
pFX->SetFieldType(CFieldExchange::outputColumn);
RFX_Text(pFX, _T("[ask_sta]"), m_ask_sta);
RFX_Text(pFX, _T("[bcch_0]"), m_bcch_0,255,);
RFX_Text(pFX, _T("[bcch_1]"), m_bcch_1);
RFX_Text(pFX, _T("[bcch_2]"), m_bcch_2);
RFX_Text(pFX, _T("[bcch_3]"), m_bcch_3);
RFX_Text(pFX, _T("[bcch_4]"), m_bcch_4);
RFX_Text(pFX, _T("[bcch_5]"), m_bcch_5);
RFX_Text(pFX, _T("[bcch_6]"), m_bcch_6);
RFX_Date(pFX, _T("[begin_time]"), m_begin_time);
RFX_Text(pFX, _T("[c_no]"), m_c_no);
RFX_Text(pFX, _T("[c1_0]"), m_c1_0);
RFX_Text(pFX, _T("[c1_1]"), m_c1_1);
RFX_Text(pFX, _T("[c1_2]"), m_c1_2);
RFX_Text(pFX, _T("[c1_3]"), m_c1_3);
RFX_Text(pFX, _T("[c1_4]"), m_c1_4);
RFX_Text(pFX, _T("[c1_5]"), m_c1_5);
RFX_Text(pFX, _T("[c1_6]"), m_c1_6);
RFX_Text(pFX, _T("[c2_0]"), m_c2_0);
RFX_Text(pFX, _T("[c2_1]"), m_c2_1);
RFX_Text(pFX, _T("[c2_2]"), m_c2_2);
RFX_Text(pFX, _T("[c2_3]"), m_c2_3);
RFX_Text(pFX, _T("[c2_4]"), m_c2_4);
RFX_Text(pFX, _T("[c2_5]"), m_c2_5);
RFX_Text(pFX, _T("[c2_6]"), m_c2_6);
RFX_Text(pFX, _T("[cid_0]"), m_cid_0);
RFX_Text(pFX, _T("[cid_1]"), m_cid_1);
RFX_Text(pFX, _T("[cid_2]"), m_cid_2);
RFX_Text(pFX, _T("[cid_3]"), m_cid_3);
RFX_Text(pFX, _T("[cid_4]"), m_cid_4);
RFX_Text(pFX, _T("[cid_5]"), m_cid_5);
RFX_Text(pFX, _T("[cid_6]"), m_cid_6);
RFX_Long(pFX, _T("[id]"), m_id);
RFX_Text(pFX, _T("[lac_0]"), m_lac_0);
RFX_Text(pFX, _T("[lac_1]"), m_lac_1);
RFX_Text(pFX, _T("[lac_2]"), m_lac_2);
RFX_Text(pFX, _T("[lac_3]"), m_lac_3);
RFX_Text(pFX, _T("[lac_4]"), m_lac_4);
RFX_Text(pFX, _T("[lac_5]"), m_lac_5);
RFX_Text(pFX, _T("[lac_6]"), m_lac_6);
RFX_Text(pFX, _T("[pos_id]"), m_pos_id);
RFX_Date(pFX, _T("[real_time]"), m_real_time);
RFX_Text(pFX, _T("[rxl_0]"), m_rxl_0);
RFX_Text(pFX, _T("[rxl_1]"), m_rxl_1);
RFX_Text(pFX, _T("[rxl_2]"), m_rxl_2);
RFX_Text(pFX, _T("[rxl_3]"), m_rxl_3);
RFX_Text(pFX, _T("[rxl_4]"), m_rxl_4);
RFX_Text(pFX, _T("[rxl_5]"), m_rxl_5);
RFX_Text(pFX, _T("[rxl_6]"), m_rxl_6);
RFX_Text(pFX, _T("[rxo]"), m_rxo);
RFX_Text(pFX, _T("[sta_id]"), m_sta_id);
RFX_Text(pFX, _T("[taskno]"), m_taskno);
RFX_Long(pFX, _T("[test_order]"), m_test_order);
RFX_Text(pFX, _T("[bsic_0]"), m_bsic_0);
RFX_Text(pFX, _T("[bsic_1]"), m_bsic_1);
RFX_Text(pFX, _T("[bsic_2]"), m_bsic_2);
RFX_Text(pFX, _T("[bsic_3]"), m_bsic_3);
RFX_Text(pFX, _T("[bsic_4]"), m_bsic_4);
RFX_Text(pFX, _T("[bsic_5]"), m_bsic_5);
RFX_Text(pFX, _T("[bsic_6]"), m_bsic_6);
//}}AFX_FIELD_MAP
}
我已经实验过了,如果所有的字段(如bsic_6)都填写字数字,程序不出错,如果填写字符(如"-"),Updata()时系统就提示"将数据类型 varchar 转换为 float 时出错"