senza DSN di sistema
con DSN di sistemacodice:/* bisogna linkare la libreria: (con DevC++) "libodbc32.a" con gli altri compilatori "odbc32.lib" "*/ #include <windows.h> #include <sqlext.h> // interfaccia ODBC con il Database #include <stdio.h> HENV hEnv = NULL; // Env Handle from SQLAllocEnv() HDBC hDBC = NULL; // Connection handle HSTMT hStmt = NULL; // Statement handle UCHAR szDSN[SQL_MAX_DSN_LENGTH] = "ACCESSdevc"; // Data Source Name buffer "ACCESSdevc" UCHAR szDSNless[] = "DRIVER={Microsoft Access Driver (*.mdb)};UID=;PWD=;DBQ=mio_database.mdb"; UCHAR* szUID = NULL; // User ID buffer UCHAR* szPasswd = NULL; // Password buffer UCHAR szModelname[50]; // Model buffer field1 UCHAR szModelfirstname[50]; // Model buffer field2 UCHAR szModeltelephone[50]; // Model buffer field3 SDWORD cbModel; // Model buffer bytes recieved UCHAR szSqlStr[] = "SELECT * FROM mia_tabella"; // SQL string RETCODE retcode; // Return code int main() { // Allocate memory for ODBC Environment handle SQLAllocEnv (&hEnv); // Allocate memory for the connection handle SQLAllocConnect (hEnv, &hDBC); // Connect to the data source "ACCESSdevc" using DSN. //retcode = SQLConnect (hDBC, szDSN, SQL_NTS, szUID, SQL_NTS, szPasswd, SQL_NTS); // Connect to the data source "ACCESS database" using DSN-less. retcode = SQLDriverConnect(hDBC, NULL, (SQLCHAR *)szDSNless, SQL_NTS, (SQLCHAR *)szDSNless, sizeof(szDSNless), NULL, SQL_DRIVER_NOPROMPT); 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, szModelname, sizeof(szModelname), &cbModel); // Project only column 2 which is the models SQLBindCol (hStmt, 2, SQL_C_CHAR, szModelfirstname, sizeof(szModelfirstname), &cbModel); // Project only column 3 which is the models SQLBindCol (hStmt, 3, SQL_C_CHAR, szModeltelephone, sizeof(szModeltelephone), &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 ("%s ", szModelname); // Print row (model) printf ("%s ", szModelfirstname); // Print row (model) printf ("%s\n", szModeltelephone); // 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); system("pause"); return 0; }
http://forum.html.it/forum/showthrea...hreadid=669954
altro (solo per Microsoft C++)
http://forum.html.it/forum/showthrea...62#post2943162

