ODBC api 編程

 

<?XML:NAMESPACE PREFIX = O />

 

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);//釋放環境句柄

                     }

              }

                    

       }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章