当前位置:C++技术网 > 资讯 > 整个ODBC数据库编程流程介绍

整个ODBC数据库编程流程介绍

更新时间:2015-06-07 18:56:50浏览次数:1+次

1.分配环境句柄
SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);


2.设置环境属性
SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0); //设置版本


3.分配连接句柄
SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);


4.设置连接属性
SQLSetConnectAttr(hdbc,SQL_LOGIN_TIMEOUT,(void*)5,0);//设置超时时间


5.连接数据库
--------------------------------------远程数据库连接-----------------------------
SQLDriverConnect(hdbc, NULL,(SQLCHAR*) "Driver=SQL Server;Server=远程数据IP地址;
Trusted_Connection=no;Database=数据库名;Uid=用户名;Pwd=密码;", SQL_NTS, szOutConn,256, (short*)&cbOutConn, SQL_DRIVER_COMPLETE);
//如用户名为sa,直接用sa替换用户名即可,不要加单引号
--------------------------------------远程数据库连接-----------------------------

--------------------------------------本地数据库连接-----------------------------
SQLDriverConnect(hdbc, NULL,(SQLCHAR*) "Driver=SQL Server;Server=127.0.0.1;Trusted_Connection=no;Database=test;Uid=sa;Pwd=wdx19900810;", SQL_NTS, szOutConn,256, (short*)&cbOutConn, SQL_DRIVER_COMPLETE);
--------------------------------------本地数据库连接-----------------------------


6.分配SQL语句句柄
SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);


7.执行SQL语句
SQLExecDirect(hstmt,(SQLTCHAR*)"select * from Filelist",SQL_NTS);


8.绑定列到变量
SQLBindCol( hstmt,1,SQL_C_CHAR,szFilename,sizeof(szFilename),(long*)&rtsize);


9.获取数据
SQLFetch(hstmt);


10.释放SQL语句句柄
SQLFreeHandle(SQL_HANDLE_STMT,hstmt);


11.断开连接
SQLDisconnect(hdbc);


12.释放连接句柄
SQLFreeHandle(SQL_HANDLE_DBC,hdbc);


13.释放环境句柄
SQLFreeHandle(SQL_HANDLE_ENV,henv);