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页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

这里附上例程供大家参考学习: /* 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下进行 ODBC编程 QT 3.0提供了 Data Table、Data Browser和 Data View三个与数据库相关的控件。你可以在 QT的 Project设置你要连接的数据库, Driver一栏中选择 QODBC3即可,其它选项你一看就明白了。上述的三个数据库控件的使用方法可以参见 QT中相应文档,也很好使用的。参考资料:微软的 ODBC主页:http:/www.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论