Datenbanken in C++ ohne MFC
-
Also wie kann ich meine Access Datenbanken in C++ einbinden, also abfragen und ändern, und das ganze ohne MFC. (deswegen poste ich es auch ins API forum).
Danke für eure antworten...
-
Ja also über ODBC sollte es doch gehen.
ODBC hat mit MFC nichts zu tun.
-
und weißt du wie genau das geht oder hast du einen link für mich?
(und bitte nicht ie msdn, ein tutorial oder sowas wär schön)
-
fhi, habe sowas mit odbc mal probiert. schick mir mal deine mailadresse. ich schicke dir das dann.
gruss
msp
-
http://www.c-plusplus.net/forum/viewtopic.php?t=65271
und über suche oben in winapi kommen viele weitere links
-
-
Dieser Thread wurde von Moderator/in cd9000 aus dem Forum WinAPI in das Forum Datenbanken verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
also meine mail-add ist Maikel_Fritz@web.de. wär nett wenn du dein beispiel hinschicken würdest. danke für die links, bin jetzt grad dabei sie durchzuarbeiten... Aber sie helfen mir schon.
-
also ich habe jetzt versucht eine access-datenbank namens C++.mdb einzubinden, die sich auch im Verzeichnis des Programms befindet. sie beinhaltet eine tabelle mit 3 spalten.
irgendwie schaffe ich es nicht zu der datenbank zu verbinden und/oder daten ausulesen. vielleicht könnt ihr mir ja sagen, was ich an dem code verändern muss.Danke für eure hilfe
-
also das ist der code :
#include <windows.h> #include <stdlib.h> #include <stdio.h> #include <sql.h> #include <sqlext.h> #include <sqltypes.h> #define ID_LEN 35 void main(void) { SQLHANDLE henv; SQLHANDLE hdbc; SQLHANDLE hstmt; RETCODE rc; SQLCHAR m_Id[ID_LEN]; SQLCHAR name[ID_LEN]; char Statement[50] = {"select Vorname from Personen"}; char dsn[10] = {"C++.mdb"}; char user[5] = {""}; char pass[5] = {""}; long m_bytesRet = SQL_NTS; rc = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); rc = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER) SQL_OV_ODBC3, SQL_IS_UINTEGER); rc = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); rc = SQLConnect(hdbc, (SQLCHAR *)dsn, SQL_NTS, (SQLCHAR *) user, SQL_NTS, (SQLCHAR *) pass, SQL_NTS); rc = SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt); rc = SQLPrepare(hstmt, (SQLCHAR *)Statement, SQL_NTS); rc = SQLExecute(hstmt); rc = SQLFetch(hstmt); if (rc == SQL_NO_DATA_FOUND) { printf("keine daten gefunden"); SQLFreeStmt(hstmt, SQL_DROP); SQLDisconnect(hdbc); SQLFreeHandle(SQL_HANDLE_DBC, hdbc); SQLFreeHandle(SQL_HANDLE_ENV, henv); exit(0); } else { printf ("daten gefunden"); SQLGetData(hstmt, 1, SQL_C_CHAR, m_Id, 10, &m_bytesRet); printf ("%s", m_Id); SQLGetData(hstmt, 1, SQL_C_CHAR, name,10, &m_bytesRet); printf ("%s", name); } rc = SQLFreeStmt(hstmt, SQL_CLOSE); rc = SQLDisconnect(hdbc); SQLFreeHandle(SQL_HANDLE_DBC, hdbc); SQLFreeHandle(SQL_HANDLE_ENV, henv); }