Linux Unix下ODBC的安裝、配置與編程_5.doc_第1頁
Linux Unix下ODBC的安裝、配置與編程_5.doc_第2頁
Linux Unix下ODBC的安裝、配置與編程_5.doc_第3頁
Linux Unix下ODBC的安裝、配置與編程_5.doc_第4頁
Linux Unix下ODBC的安裝、配置與編程_5.doc_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

這里附上例程供大家參考學(xué)習(xí): /* odbc.c testing unixODBC */ #include #include #include #include #include SQLHENV V_OD_Env; / Handle ODBC environment long V_OD_erg; / result of functions SQLHDBC V_OD_hdbc; / Handle connection char V_OD_stat10; / Status SQL SQLINTEGER V_OD_err,V_OD_rowanz,V_OD_id; SQLSMALLINT V_OD_mlen,V_OD_colanz; char V_OD_msg200,V_OD_buffer200; int main(int argc,char *argv) / 1. allocate Environment handle and register version V_OD_erg=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&V_OD_Env) ; if (V_OD_erg != SQL_SUCCESS) & (V_OD_erg != SQL_SUCCESS_WITH_INFO) printf(Error AllocHandlen); exit(0); V_OD_erg=SQLSetEnvAttr(V_OD_Env, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); if (V_OD_erg != SQL_SUCCESS) & (V_OD_erg != SQL_SUCCESS_WITH_INFO) printf(Error SetEnvn); SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); exit(0); / 2. allocate connection handle, set timeout V_OD_erg = SQLAllocHandle(SQL_HANDLE_DBC, V_OD_Env, &V_OD_hdbc); if (V_OD_erg != SQL_SUCCESS) & (V_OD_erg != SQL_SUCCESS_WITH_INFO) printf(Error AllocHDB %dn,V_OD_erg); SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); exit(0); SQLSetConnectAttr(V_OD_hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER *)5, 0); / 3. Connect to the datasource web V_OD_erg = SQLConnect(V_OD_hdbc, (SQLCHAR*) Test, SQL_NTS, (SQLCHAR*) root, SQL_NTS, (SQLCHAR*) , SQL_NTS); if (V_OD_erg != SQL_SUCCESS) & (V_OD_erg != SQL_SUCCESS_WITH_INFO) printf(Error SQLConnect %dn,V_OD_erg); SQLGetDiagRec(SQL_HANDLE_DBC, V_OD_hdbc,1, V_OD_stat, &V_OD_err,V_OD_msg,100,&V_OD_mlen); printf(%s (%d)n,V_OD_msg,V_OD_err); SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); exit(0); printf(Connected !n); V_OD_erg=SQLAllocHandle(SQL_HANDLE_STMT, V_OD_hdbc, &V_OD_hstmt); if (V_OD_erg != SQL_SUCCESS) & (V_OD_erg != SQL_SUCCESS_WITH_INFO) printf(Fehler im AllocStatement %dn,V_OD_erg); SQLGetDiagRec(SQL_HANDLE_DBC, V_OD_hdbc,1, V_OD_stat,&V_OD_err,V_OD_msg,100,&V_OD_mlen); printf(%s (%d)n,V_OD_msg,V_OD_err); SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); exit(0); SQLBindCol(V_OD_hstmt,1,SQL_C_CHAR, &V_OD_buffer,150,&V_OD_err); SQLBindCol(V_OD_hstmt,2,SQL_C_ULONG,&V_OD_id,150,&V_OD_err); V_OD_erg=SQLExecDirect(V_OD_hstmt,SELECT dtname,iduser FROM web order by iduser,SQL_NTS); if (V_OD_erg != SQL_SUCCESS) & (V_OD_erg != SQL_SUCCESS_WITH_INFO) printf(Error in Select %dn,V_OD_erg); SQLGetDiagRec(SQL_HANDLE_DBC, V_OD_hdbc,1, V_OD_stat,&V_OD_err,V_OD_msg,100,&V_OD_mlen); printf(%s (%d)n,V_OD_msg,V_OD_err); SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); exit(0); V_OD_erg=SQLNumResultCols(V_OD_hstmt,&V_OD_colanz); if (V_OD_erg != SQL_SUCCESS) & (V_OD_erg != SQL_SUCCESS_WITH_INFO) SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); SQLDisconnect(V_OD_hdbc); SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); exit(0); printf(Number of Columns %dn,V_OD_colanz); V_OD_erg=SQLRowCount(V_OD_hstmt,&V_OD_rowanz); if (V_OD_erg != SQL_SUCCESS) & (V_OD_erg != SQL_SUCCESS_WITH_INFO) printf(Number of RowCount %dn,V_OD_erg); SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); SQLDisconnect(V_OD_hdbc); SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); exit(0); printf(Number of Rows %dn,V_OD_rowanz); V_OD_erg=SQLFetch(V_OD_hstmt); while(V_OD_erg != SQL_NO_DATA) printf(Result: %d %sn,V_OD_id,V_OD_buffer); V_OD_erg=SQLFetch(V_OD_hstmt); ; SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); SQLDisconnect(V_OD_hdbc); SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); return(0); 2QT下進(jìn)行 ODBC編程 QT 3.0提供了 Data Table、Data Browser和 Data View三個(gè)與數(shù)據(jù)庫相關(guān)的控件。你可以在 QT的 Project設(shè)置你要連接的數(shù)據(jù)庫, Driver一欄中選擇 QODBC3即可,其它選項(xiàng)你一看就明白了。上述的三個(gè)數(shù)據(jù)庫控件的使用方法可以參見 QT中相應(yīng)文檔,也很好使用的。參考資料:微軟的 ODBC主頁:http:/www.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論