MFC Access Datenbank

Don_Pazo

Erfahrenes Mitglied
Hallo,
ich habe eine MFC Anwendung (mit Basisklasse CHtmlView). Jetzt möchte ich eine Access DB (2003) einbinden und per ODBC einlesen und schreiben. Ich habe eine neue Klasse erstelt
Code:
class CAccessPcatsSet : public CRecordset
{

Die bisherige Themen in dem Forum haben mir leider nicht geholfen. Ich weiss es nicht wie ich die Datenbank öfnen und lesen bzw. schreiben kann.
 
Du mußt ein Objekt der Klasse CDatabase anlegen und die Datenbank damit öffnen. Den Zeiger auf dieses CDatabase-Objekt weist Du Deinem CRecordset-Objekt zu.
Schau' Dir die beiden Klassen mal an, dann sollte es eigentlich wenig Probleme geben.
 
Sollte es etwa so aussehen:
Code:
CDatabase db;
   db.OpenEx( NULL, CDatabase::forceOdbcDialog );

   CRecordset rs( &db );
   rs.Open( CRecordset::forwardOnly, _T( "SELECT * FROM MeineTabelle" ) );

Das Code stehen bei mir in einen CMyKlasse. Wenn ich das Programm starte und dann auf dem Button klicke, bekommen ich einen Dialogfenster "Dateidatenqelle" bzw. "Computerdateiquelle".
1. Ist es möglich die ODBC Verbindung, Datenbankname, Benutzername und Passwort direckt mit dem Open-Anweisung zu übermitteln

2. Wenn JA, wo sollte man das machen beim db.Open(....) oder beim rs.Open(...)

3. Wie kann ich die mit Select Anweisung aufgerufenen Datensetze lesen (nur in diesem Fall ist select * from Tabelle)
 
1. Ja
2. Im db.Open gibst Du statt NULL den Usernamen und das Passwort an
3. Nach dem rs.Open enthält das CRecordset-Objekt das Ergebnis des SQL-Statements. Wenn Du die ganze Tabelle haben willst, reicht der Tabellenname. Mit den Move, MoveFirst, MoveLast, MoveNext und MovePrev - Befehlen bewegst Du Dich im Recordset von einem Datensatz (Tabellenzeile) zum nächsten. Mit dem GetFieldValue - Befehl holst Du den Wert eines Befehls.
4. MSDN CDatabase; MSDN CRecordset
 
Zurück