How to get data from a database using ODBC API?
Submitted by date of submission user level
Mahesh Chand July 01, 2000 Beginner
Include
UCHAR FAR * szColName = new UCHAR[15];
SWORD FAR pcbColName;
SWORD pfSqlType;
UDWORD pcbColDef;
SWORD pibScale;
SWORD pfNullable;
SQLHENV henv;
SQLHDBC hdbc;
SQLHSTMT hstmt;
RETCODE retcode ;
retcode = ::SQLAllocEnv(&henv);
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
retcode = ::SQLAllocConnect( henv, &hdbc);
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
/*Connect to data source. my data source name is "Kruse". 'Access' table in this database contains two fields 'Name' and 'HTML' of TEXT type. */
retcode = ::SQLConnect(hdbc, (SQLCHAR*) "Kruse", SQL_NTS, (SQLCHAR*) "", SQL_NTS, (SQLCHAR*) "", SQL_NTS);
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){
/* Allocate statement handle */
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
/* Preparing SQL statement. here you can pass any sql statemens such as DELETE * FROM Access to delete or UPDATE .. */
retcode = ::SQLPrepare(hstmt, (UCHAR FAR*)"INSERT INTO ACCESS(Name, HTML) VALUES('myName','myHTML')",(SDWORD)54);
ASSERT(retcode == SQL_SUCCESS);
/*Execute the statement */
retcode = ::SQLExecute(hstmt);
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
}
SQLDisconnect(hdbc);
}
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
}
}
SQLFreeHandle(SQL_HANDLE_ENV, henv);