Datenbank - schreiben
-
Hallo
Ich versuche in eine Access Datenbank eine neue Zeile anzufügen und zu füllen. Leider klappt es nicht so, wie in der Hilfe beschrieben. Die Compilierung funktioniert fehlerfrei, aber später kommt eine Fehlermeldung mit " Runtime error abnormal programm termination".
Wo liegt der Fehler?#include <afxdb.h> class CNumber_Tbl: public CRecordset { public: CString m_L; CString m_OP; CString m_RO; CNumber_Tbl(CDatabase *pdb): CRecordset(pdb) { m_LO = "0"; m_OP = "0"; m_ROU = "0"; m_nFields = 3; } virtual void DoFieldExchange(CFieldExchange *pFX) { pFX->SetFieldType(CFieldExchange::outputColumn); RFX_Text(pFX, _T("[LO]"), m_LO); RFX_Text(pFX, _T("[OP]"), m_OP); RFX_Text(pFX, _T("[RO]"), m_RO); } }; CString sODBCName2 = "Test"; CDatabase dbnumber2; CNumber_Tbl number2(&dbnumber2); dbnumber.Open(sODBCName2); if(dbnumber.IsOpen()) { if(!number2.Open()) return FALSE; if( !number2.CanAppend()) return FALSE; number2.AddNew(); number2.m_LO = "Ha1"; number2.m_OP = "Ha2"; number2.m_RO = "Ha3"; if( !number2.Update()) { AfxMessageBox("Record not added; no field values were set." ); return FALSE; } }
-
versuche es mal so
CNumber_Tbl *m_pSet; m_pSet = new CNumber_Tbl(NULL); m_pSet->Open();//öffnet m_pSet->MoveLast();//geht zum letzten DS m_pSet->AddNew();//öffnet neuen DS UpdateData(TRUE); m_pSet->m_L = m_L; m_pSet->m_OP = m_OP; m_pSet->m_RO = m_RO; m_pSet->Update();//aktualiesiert m_pSet->Requery();//speichert m_pSet->Close() ;//schließt
vossy