Datenbank mit sql-befehl öffnen
-
hallo zusammen,
was ist an diesem sql-befehl falsch:
[/cpp]
m_pSet->Open(CRecordset::snapshot, _T("SELECT * FROM [Tabelle2] ORDER BY Kante_Nr"), CRecordset::none);
[cpp]
ich versuche, damit eine odbc-datenbank zu öffen, erhalte als fehlermeldung aber immer:
es wurde 1 parameter erwartet, es wurden zu wenig parameter übergeben. so wie ich msdn interpretiere, müsste das aber funktionieren.
danke schonmal für eure hilfe,
daniel
-
wie erzeugst du dir deinen pointer
-
ich übernehme im prinzip die funktion OnInitialUpdate aus meiner View-Klasse, schliesse darin die Verbindung über m_pSet->Close und führe danach den Open-befehl aus
-
ich wollte wissen wie der pointer angelegt wurde
von welcher klasse? warscheinlich Crecordset
steht überhaupt die verbindung zur DB, weiß der pointer welche DB es sein muss
also bitte etwas ausführlicher
danke
-
achso, tschuldigung.
also das ist ne access-datenbank, über odbc angebunden. die Klasse ist CRecordset, der vom assistenten angelegte teil der oninitialupdate funktioniert auch:
void CDBView::OnInitialUpdate()
{
m_pSet = &GetDocument()->m_pDBSet;
CRecordView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
}
ich habe dann versucht, über close und erneutes open (also
m_pSet->Close();
m_pSet->Open(CRecordset::snapshot, _T("SELECT * FROM [Tabelle2] ORDER BY Kante_Nr"), CRecordset::none)),
zu garantieren, dass die datenbank in einer bestimmten ordnung geöffnet wird, aber in dem fall kommt die fehlermeldung und es wird nur das erste element der db in meinem dialogfenster angezeigt.
-
wie wird das initialisiert: m_pDBSet ?
ist der pointer auch nicht null?
-
zur initialisierung wird der konstruktor der datenbankklasse aufgerufen. NULL kann der zeiger eigentlich nicht sein, denn er zeigt ja das erste element an, man kann sich dann nur nicht die folgenden anzeigen lassen. die entsprechenden Button im dialogfenster sind dann deaktiviert