Добрый день. может кто сталкивался с такой проблемой.
Я работаю с базой данных mysql через mfc(CRecordset). И все работало нормально, пока не понядобилось мне добавить в таблицу новую колонку. И тут пошла какая-то лажа — при записи в таблицу выскакивает трейс с текстом Error: field address (column %u) has changed!. Причем выскакивает, если я пытаюсь забисать данные в этот свой новый столбец. Если же я не пишу туда ничего, то все нормально проходит. Может кто знает, чего это такое и как с этим бороться?
Ниже кусок кода.
CMyRecordset::CMyRecordset(CDatabase* pdb)
: CRecordset(pdb)
{
SetDefValues();
m_nFields = 9;
m_nDefaultType = dynamic;
}
CString CMyRecordset::GetDefaultSQL()
{
return _T("select * from s_table where id is null");
}
void CMyRecordset::DoFieldExchange(CFieldExchange* pFX)
{
pFX->SetFieldType(CFieldExchange::outputColumn);
long showCards = 0;
RFX_Long(pFX, _T("[id]"), m_struct.id);
RFX_Long(pFX,_T("[showcards]"),showCards);
RFX_Long(pFX, _T("[h_id]"), m_struct.h_id);
RFX_Long(pFX, _T("[p_id]"), m_struct.p_id);
RFX_Int(pFX, _T("[s_id]"), m_struct.s_id);
RFX_Int(pFX, _T("[c1]"), m_struct.c1);
RFX_Int(pFX, _T("[c2]"), m_struct.c2);
RFX_Double(pFX, _T("[money]"), m_struct.money);
RFX_Double(pFX, _T("[h_money]"), m_struct.h_money);
}
Спасибо.
все, я понял где собака порылась....