ODBC is a kind of API that is more easily understood by example.
#include <stdio.h>
#include <sql.h>
#include <sqlext.h>
int main() {
SQLHENV henv; SQLHDBC hdbc; SQLHSTMT hstmt; SQLRETURN rc;
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0);
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
rc = SQLConnect(hdbc, "dsn", SQL_NTS, "user", SQL_NTS, "pwd", SQL_NTS);
if (!SQL_SUCCEEDED(rc)) { }
SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
rc = SQLExecDirect(hstmt, "Select Count(*) From Table", SQL_NTS);
if (!SQL_SUCCEEDED(rc)) { }
rc = SQLFetch(hstmt);
if (!SQL_SUCCEEDED(rc)) { }
SQLINTEGER indicator; long count;
rc = SQLGetData(hstmt, 1, SQL_C_LONG, &count, sizeof(count), &indicator);
if (!SQL_SUCCEEDED(rc)) { }
if (indicator == SQL_NULL_DATA) { }
printf("count = %ld\n", count);
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 0;
}
Here is a compressed tutorial from EasySoft.
http://www.easysoft.com/developer/languages/c/odbc_tutorial.html[
^]