1,加入头文件 #include <sqlext.h>
2,加入引用文件odbc32.lib
3, dsn=db1
4,代码浏览表,把表得数据显示出来
SQLHENV henv;
SQLHDBC hdbc;
SQLHSTMT hStmt;
SQLRETURN retcode;
SQLINTEGER iId,cbId,cbName,cbPwd;
SQLCHAR szName[50],szPwd[50];
//分配连接句柄
retcode=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
{
//设置环境属性
retcode=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);
if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
{
//分配连接句柄
retcode=SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
{
int i=5;
//设置连接属性
SQLSetConnectAttr(hdbc,SQL_LOGIN_TIMEOUT,&i,0);
retcode=SQLConnect(hdbc,(SQLCHAR*)"db1",SQL_NTS,(SQLCHAR*)"wang284008476",
SQL_NTS,(SQLCHAR*)"7758521",SQL_NTS);
if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
{
//分配语句句柄
retcode=SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hStmt);
if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
{
//执行操作
retcode=SQLExecDirect(hStmt,(SQLCHAR *)"select * from user",SQL_NTS);
if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
{
//绑定列
SQLBindCol(hStmt,1,SQL_C_LONG,&iId,0,&cbId);
SQLBindCol(hStmt,2,SQL_C_CHAR,szName,50,&cbName);
SQLBindCol(hStmt,3,SQL_C_CHAR,szPwd,50,&cbPwd);
while (true)
{
//滚动记录集,把下一行,变成当前行
retcode=SQLFetch(hStmt);
if (retcode==SQL_ERROR||retcode==SQL_SUCCESS_WITH_INFO)
{
}
if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
{
CString str1;
str1.Format("%d",iId);
int i1=m_list1.InsertItem(m_list1.GetItemCount(),str1);
str1.Format("%s",szName);
m_list1.SetItemText(i1,1,str1);
str1.Format("%s",szPwd);
m_list1.SetItemText(i1,2,str1);
}else
{
break;
}
}
}
SQLFreeHandle(SQL_HANDLE_STMT,hStmt);//释放语句句柄
}
SQLDisconnect(hdbc);//释放连接句柄
}
SQLFreeHandle(SQL_HANDLE_DBC,hdbc);//释放环境句柄
}
}
}