Zum Auslesen:
Folgendes Beispiel liest zwei longs aus einer Tabelle: const char* pszQuery = "SELECT * FROM Table";
SQLHSTMT hstatement;
if( RetCodeSuccess( SQLAllocHandle( SQL_HANDLE_STMT, hdbc, &hstatement) ) ) {
long int long1 = 0, long2 = 0;
long len;
if( RetCodeSuccess( SQLExecDirect( hstatement, (SQLCHAR*) pszQuery, SQL_NTS ) ) ) {
SQLBindCol( hstatement, 1, SQL_C_SLONG, (SQLPOINTER) &long1, 4, &len );
SQLBindCol( hstatement, 2, SQL_C_SLONG, (SQLPOINTER) &long2, 4, &len );
SQLINTEGER nResultRows;
SQLRowCount( hstatement, &nResultRows );
if( nResultRows != 0 ) {
if( RetCodeSuccess( SQLFetch( hstatement ) ) ) {
// Auswerten...
}
}
}
SQLFreeHandle( SQL_HANDLE_STMT, hstatement );
}
[/CODE]
Durch wiederholtes Aufrufen von SQLFetch kann man weitere Datensätze auslesen.
RetCodeSuccess ist übrigens eine Hilfsfunktion, die ich mir selbst geschrieben habe:[CODE]bool RetCodeSuccess( int nRetcode ) {
return nRetcode == SQL_SUCCESS || nRetcode == SQL_SUCCESS_WITH_INFO;
}Macht den Code erheblich übersichtlicher.