本文主要是介绍vc++使用odbc api连接数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
初次写博客,不知道效果怎样,我希望在这里,能和大家共同建立起一个交流平台,探讨技术
下面是我最近,做得事:使用odbc api 进行访问数据库,我这使用C++来编写的,希望对大家能有帮助
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <iostream.h>
int main()
{
SQLHANDLE hEnv;
SQLHANDLE hDBC;
SQLHANDLE hSTMT;
SQLRETURN retcode;
SQLRETURN retcode_1;
SQLCHAR pszId[30], pszName[30], pszTelephone[30];
SQLINTEGER iName, iId, iTele;
SQLAllocHandle(SQL_HANDLE_ENV, NULL, &hEnv);
SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION,(SQLPOINTER) SQL_OV_ODBC3, SQL_IS_INTEGER);
SQLAllocHandle(SQL_HANDLE_DBC,hEnv,&hDBC);
try
{
retcode = SQLConnect(
hDBC,
(SQLCHAR*) "tomsky", SQL_NTS,
(SQLCHAR*) "sa", SQL_NTS,
(SQLCHAR*) "", SQL_NTS);
}
catch(...)
{
cout << "connecting is error!" << endl;
}
SQLAllocHandle(SQL_HANDLE_STMT,hDBC,&hSTMT);
SQLCHAR sql[] = "select * from testTable;";
try
{
retcode_1 = SQLExecDirect(hSTMT, sql, SQL_NTS);
}
catch(...)
{
cout << "execute sql error!" << endl;
}
while(SQL_NO_DATA != SQLFetch(hSTMT))
{
SQLGetData(hSTMT, 1, SQL_C_CHAR, pszId, 30, &iId);
SQLGetData(hSTMT, 2, SQL_C_CHAR, pszName, 30, &iName);
SQLGetData(hSTMT, 3, SQL_C_CHAR, pszTelephone, 30, &iTele);
cout << "pszId:" << pszId << endl;
cout << "pszName:" << pszName << endl;
cout << "pszTelephone:" << pszTelephone << endl;
}
SQLFreeHandle(SQL_HANDLE_STMT, hSTMT);
SQLFreeHandle(SQL_HANDLE_DBC, hDBC);
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
return 0;
}
这篇关于vc++使用odbc api连接数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!