[color blue]#include[/color]<windows.h>
[color blue]#include[/color]<iostream>
[color blue]#include[/color]<string>
[color blue]#include[/color]<sql.h>
[color blue]#include[/color]<sqlext.h>
[color blue]using namespace[/color] std;
[color blue]int[/color] main()
{
HENV hEnv;
HDBC hDbc;
RETCODE rc;
[color blue]int[/color] iOut;
[color blue]char[/color] strOut[256];
[color blue]char[/color] szDSN[256] = "driver={Microsoft Access Driver (*.mdb)};dbq=[c:\\db1.mdb];";
[color green]
//dsn samples:
//"driver={Microsoft Access Driver (*.mdb)};dbq=[f:\\db1.mdb];"
//"driver={SQL Server};pwd={password there};Server={server name};Database={dbname there}"
//driver names for different databases:
//{SQL Server}
//{Microsoft ODBC for Oracle}
//{Oracle in oracle9}
//{Microsoft Access Driver (*.mdb)}
//{MySQL ODBC 3.51 Driver}
[/color]
[color blue]char[/color]* szSql = "select * from table1";
rc = SQLAllocEnv(&hEnv);
rc = SQLAllocConnect(hEnv, &hDbc);
rc = SQLDriverConnect(hDbc, NULL, (unsigned char*)szDSN,
SQL_NTS, (unsigned char*)strOut,
255, (SQLSMALLINT*)&iOut, SQL_DRIVER_NOPROMPT);
{
[color blue]int[/color] ival;
[color blue]char[/color] chval[128];
[color blue]int[/color] ret1;
[color blue]int[/color] ret2;
HSTMT hStmt;
rc = SQLAllocStmt(hDbc,&hStmt);
rc = SQLPrepare(hStmt,(unsigned char*)szSql, SQL_NTS);[color green]//1
//rc = SQLBindCol(hStmt, tab_column, tr_type, tr_value, tr_len, len_or_ind);[/color]
rc = SQLBindCol(hStmt, 1, SQL_C_ULONG, &ival, 4, (SQLINTEGER*)& ret1);
rc = SQLBindCol(hStmt, 2, SQL_C_CHAR, chval, 128, (SQLINTEGER*)&ret2);
rc = SQLExecute(hStmt);[color green] //2[/color]
[color green]
//if you have queries like drop/create/many update...
//instead of //1 //2 and //3 you could use
//rc=SQLExecDirectA(hStmt,(unsigned char*)szSql,SQL_NTS);
[/color]
cout<< ">table:"<< endl;
[color blue]while[/color](1) [color green]//3[/color]
{
rc = SQLFetch(hStmt);
[color blue]if[/color](rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO)[color blue]break[/color];
cout<< "{"<< ival<<"}{"<< chval<< "}"<< endl;
}
rc=SQLFreeStmt(hStmt, SQL_DROP);
}
rc = SQLDisconnect(hDbc);
rc = SQLFreeEnv(hEnv);
[color blue]return[/color] 0;
}