#include #include #include #include #include using namespace std; int main() { SQLHENV sql_hEnv = 0; SQLHDBC sql_hDBC = 0; SQLHSTMT sql_hStmt = 0; SQLSMALLINT nSize = 0; SQLRETURN sqlRet; SQLAllocHandle( SQL_HANDLE_ENV, SQL_NULL_HANDLE, &sql_hEnv ); SQLSetEnvAttr( sql_hEnv, SQL_ATTR_ODBC_VERSION, (void*) SQL_OV_ODBC3, 0 ); SQLAllocHandle(SQL_HANDLE_DBC, sql_hEnv, &sql_hDBC ); sqlRet = SQLConnect( sql_hDBC, (SQLCHAR*)"gif", SQL_NTS, (SQLCHAR*)"", SQL_NTS, (SQLCHAR*)"", SQL_NTS ); if(SQL_SUCCEEDED(sqlRet)) { sqlRet = SQLAllocHandle( SQL_HANDLE_STMT, sql_hDBC, &sql_hStmt ); sqlRet = SQLExecDirect( sql_hStmt, (SQLCHAR*)"SELECT * FROM gif.student;", SQL_NTS ); SQLSMALLINT nCols = 0; SQLINTEGER nRows = 0; SQLINTEGER nIdicator = 0; SQLCHAR buf[1024] = {0}; SQLNumResultCols( sql_hStmt, &nCols ); SQLRowCount( sql_hStmt, &nRows ); while(SQL_SUCCEEDED(sqlRet = SQLFetch(sql_hStmt))) { cout << "Student: " ; for( int i=1; i <= nCols; ++i ) { sqlRet = SQLGetData( sql_hStmt, i, SQL_C_CHAR, buf, 1024, &nIdicator ); if( SQL_SUCCEEDED( sqlRet ) ) { cout << buf; } if (i==nCols) cout << endl; else cout << ", "; } } SQLFreeHandle( SQL_HANDLE_STMT, sql_hStmt ); SQLDisconnect( sql_hDBC ); } else { cout << "Fehler bei der Verbindung zur Datenbank!" << endl; } SQLFreeHandle( SQL_HANDLE_DBC, sql_hDBC ); SQLFreeHandle( SQL_HANDLE_ENV, sql_hEnv ); return 0; }