Daten per ODBC aus Datenbank holen
-
Hallo,
wie schon oben beschrieben, suche ich eine Möglichkeit Daten per ODBC aus einer Datenbank zu bekommen. Kann mir da jemand bei helfen.Gruß Silver
-
Du könntest zB die beim Platform SDK von Windows enthaltene ODBC-Library dafür benützen?!
MfG SideWinder
-
und wie kann ich die benutzen
-
Du hast die Doku in der MSDN bereits gelesen...? Im Prinzip immer der Selbe Ablauf:
1. Environment-Handle
2. Connection-Handle
3. Statement-Handle
4. Statement vorbereiten (Spalten binden, etc.)
5. Statement ausführen
6. ResultSet aus dem Statement abarbeietn
7. Alles wieder abbauen oder ab 3. weitermachenMfG SideWinder
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
FAQ schreibt:
WinAPI
Fragen die die reine WinAPI betreffen - also weder MFC, VCL oder über sonstige Klassenbibliotheken! Sollte das Programm die windows.h nicht einbinden, dann ist die Frage dort sicherlich falsch.Also entweder verstehe ich diesen Text falsch oder der Thread wurde falsch verschoben. Ich arbeite nicht mit windows.h
-
Die ODBC hat sicherlich nichts mit dem C++-Standard zu tun, wenn du unter Windows programmierst fällt das nunmal unter WinAPI weil du die WinAPI-Implementierung der ODBC verwenden wirst
MfG SideWinder
-
Jetzt mal wieder zurück zum Thema also ich habe mir da jetzt was zusammengebastelt um auf die Datenbank zuzugreifen:
[cpp]std::string DatabaseConnection::GetUserLevel(std::string UserName, std::string Password) { CDatabase UserData; CString DB_File = "Fuhrpark"; CString sDsn; CString sDriver = "MICROSOFT ACCESS DRIVER (*.mdb)"; CString SqlString; // The ODBC Connection String // sDsn.Format("ODBC;DRIVER={%s};DSN='Fuhrpark';DBQ=%s",sDriver,DB_File); TRY { // Open the database UserData.Open( "Fuhrpark" ); // Allocate the recordset CRecordset recset( &UserData ); SqlString = "SELECT ID, Benutzername,Passwort, Rechte FROM tbl_Benutzerliste WHERE Benutzername = '"; SqlString += UserName.c_str(); SqlString += "'"; // Execute the query recset.Open(AFX_DB_USE_DEFAULT_TYPE,SqlString,CRecordset::none ); CString Benutzername; CString Passwort; CString Rechte; CString Personalnummer; recset.GetFieldValue("Benutzername",Benutzername); recset.GetFieldValue("Passwort",Passwort); recset.GetFieldValue("Rechte",Rechte); recset.GetFieldValue("Personalnummer",Personalnummer); /* parameters.Driver = Benutzername; parameters.Password = Passwort; parameters.Rights = Rechte; parameters.PersonalNumber = Personalnummer;*/ // go to next record recset.MoveNext(); // Close the database UserData.Close(); } CATCH(CDBException, e) { // If a database exception occured, show error msg AfxMessageBox("Database error: "+e->m_strError); } END_CATCH; return SqlString; }[/cpp]
nur wenn ich den Code ausführe wird mir gesagt :
Database error: Datensätze können nicht gelesen werden. Keine Leseberechtigung auf tbl_BenutzerlisteWoher bekomme ich nun diese Leseberechtigung in meiner Access Datenbank habe ich nichts der gleichen gefunden.
-
Kann mir da keiner helfen??