Probleme beim Hinzufügen eines neuen Datensatzes
-
Hi,
ich habe folgende Fehlermeldung beim Kompilieren meines Programmes, in dem es um das Hinzufügen eines neuen Datensatzes geht:
warning C4244: 'argument' : Konvertierung von 'long' in 'char', moeglicher Datenverlust (bezieht sich auf: CString strCurrentCourse = m_pSet->m_id;)
error C2679: Binaerer Operator '=' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'class CString' akzeptiert (oder keine geeignete Konvertierung moeglich) (bezieht sich auf: m_pSet->m_id = strCurrentCourse;)
Der dazugehörige Abschnitt des Quellcodes lautet:
void CTest_1Form::OnRecordAdd() { // TODO: Code für Befehlsbehandlungsroutine hier einfügen // Falls Sie sich bereits im Hinzufügen-Modus befinden, // vervollständigen Sie den vorhergehenden neuen Datensatz if (m_bAddMode) OnMove(ID_RECORD_FIRST); CString strCurrentCourse = m_pSet->m_id; m_pSet->AddNew(); m_pSet->SetFieldNull(&(m_pSet->m_id), FALSE); m_pSet->m_id = strCurrentCourse; m_bAddMode = TRUE; m_ctlSection.SetReadOnly(FALSE); UpdateData(FALSE); }Kann mir jemand sagen, was ich da verkehrt mache?

-
Du musst "CString <-> int"-Konvertierungen vornehmen: http://www.c-plusplus.net/forum/viewtopic.php?t=39102
-
So wie ich das sehe, ist die Variable m_pSet->m_id vom Typ long.
Die Variable strCurrentCourse sollte dann auch vom Typ long sein. Dann sollte es eigentlich klappen.