Datenbanken ohne MFC Klassen

BernieSt

Grünschnabel
Tag zusammen,


gibt es eine Möglichkeit eine MS Access Datenbank ohne die MFC Klassen in einem C++ Projekt zu öffnen.

Konkret:
Ich habe eine Konsolenanwendung erstellt und möchte den Inhalt einer MS Access Datenbank ohne die Verwendung der MFC Klassen ausgeben.
 
Versuche mal SQLAllocEnv (&hEnv); ...
**********************************
#include <windows.h>

#include <sqlext.h>

#include <stdio.h>



int main(void)

{

HENV hEnv = NULL; // Env Handle from SQLAllocEnv()

HDBC hDBC = NULL; // Connection handle

HSTMT hStmt = NULL; // Statement handle

UCHAR szDSN[SQL_MAX_DSN_LENGTH] = "db97"; // Data Source Name buffer
UCHAR* szUID = NULL; // User ID buffer
UCHAR* szPasswd = NULL; // Password buffer
UCHAR szModel[128]; // Model buffer
SDWORD cbModel; // Model buffer bytes recieved
UCHAR szSqlStr[] = "Select Model From Makes Where Make='Vauxhall'"; // SQL string
RETCODE retcode; // Return code

// Allocate memory for ODBC Environment handle
SQLAllocEnv (&hEnv);

// Allocate memory for the connection handle
SQLAllocConnect (hEnv, &hDBC);

// Connect to the data source "db97" using userid and password.
retcode = SQLConnect (hDBC, szDSN, SQL_NTS, szUID, SQL_NTS, szPasswd, SQL_NTS);
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
// Allocate memory for the statement handle
retcode = SQLAllocStmt (hDBC, &hStmt);
// Prepare the SQL statement by assigning it to the statement handle
retcode = SQLPrepare (hStmt, szSqlStr, sizeof (szSqlStr));
// Execute the SQL statement handle
retcode = SQLExecute (hStmt);
// Project only column 1 which is the models
SQLBindCol (hStmt, 1, SQL_C_CHAR, szModel, sizeof(szModel), &cbModel);
// Get row of data from the result set defined above in the statement
retcode = SQLFetch (hStmt);
while (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
printf ("\t%s\n", szModel); // Print row (model)
retcode = SQLFetch (hStmt); // Fetch next row from result set
}
// Free the allocated statement handle
SQLFreeStmt (hStmt, SQL_DROP);
// Disconnect from datasource
SQLDisconnect (hDBC);
}
// Free the allocated connection handle
SQLFreeConnect (hDBC);
// Free the allocated ODBC environment handle
SQLFreeEnv (hEnv);
return 0;
}

***********************************

oder dbopen(...)
hoffe das hilft irgendwie.
Kenn mich nicht sonderlich mit Datenbanken aus

MFC hasser oder sonst ein Grund kein MFC zu verwenden (kann man ja mit Konsole koppeln)
 
Zuletzt bearbeitet:
Kein MFC Hasser.

Programmiere zur Zeit eine Schnittstelle zwischen PRO-E und einer Datenbank. MFC Klassen werden nicht unterstützt.
 
Ich bin jetzt auf eine MySQL Datenbank umgestiegen. MySQL bietet eine C++ Schnittstelle. Diese funktioniert einwandfrei.
 
Zurück