c语言odbc编程,c语言之odbc编程指南c语言之odbc编程指南.doc
c語言之odbc編程指南c語言之odbc編程指南
?摘要本文在介紹了ODBC(開放性數據庫連接,Open? DataBase? Connectivity)運行機制的基礎上,著重討論了VisualC++2.0下利用ODBCAPI及利用MFC進行ODBC編程的兩種方法.??? 關鍵詞ODBC,SQL,數據源,文檔/視圖結構,DBMS??? 一、ODBC的發展背景??? 在傳統的數據庫領域,數據庫應用程序通常是指在特定的數據庫管理系統(DBMS)的支持下,用特定的內嵌式結構化查詢語言(SQL)開發的.這樣的數據庫應用程序存在如下的缺點:(1)它往往需要一個龐大的數據庫管理系統的支持,對用戶的軟、硬件要求高;(2)它通常只能處理一種格式的數據庫文件.??? 與傳統的數據庫應用程序的實現方法相比,Microsoft的開放性數據庫連接(ODBC)標準則提供了一種新的途徑:它建立了一組規范,并提供了一組高層應用程序調用接口和一套基于動態鏈接庫(DLL)的運行支持環境.用這樣一組接口規范開發的應用程序,使用標準的函數和結構化查詢語言(SQL)對數據庫進行操作,不必關心"數據源"(DataSource)來自何種數據庫管理系統DBMS,所有的數據庫的底層操作都是由相應的ODBC驅動程序(ODBCDriver)完成.只要有了相應的ODBC驅動程序,應用程序處理的對象-數據源就可以非常廣泛,既可以是本機的某種數據庫格式的文件,如FoxPro的*.dbf文件,也可以是遠程數據庫文件,如MicrosoftSQLServer等.??? 二、ODBC的運行機制??? ODBC的體系構架包括五個部分:ODBC管理器(ODBCAdministrator)、應用程序(Application)、ODBC驅動程序管理器(ODBCDriver? Manager)、ODBC驅動程序(ODBCDriver)和數據源(Data? Source).圖1表示了ODBC各部分之間的關系.??? ODBC管理器在整個ODBC運行機制中起配置環境、登錄信息的作用,它被安裝在Control? Pannel里(ODBCINST.CPL).通過該工具,可以用來配置、增添和刪除數據源,也可以用來刪除、安裝ODBC驅動程序.ODBC管理器把數據源和ODBC驅動程序的信息記錄在ODBC.INI、ODBCINST.INI和ODBCISAM.INI中,或者登錄在系統數據庫中,ODBC的其他部件通過讀取這些信息,相互作用,應用程序就能夠實現對已登錄數據庫的共享.??? 應用程序(Application)的主要任務是通過調用標準的ODBC函數,提交SQL??句并返回結果,對結果進行處理.??? ODBC驅動程序管理器的作用是根據應用程序的要求,調用不同的ODBC驅動程序.??? ODBC驅動程序的作用是實現ODBC函數調用,對指定的數據源執行SQL語句,并把結果返回給應用程序.有時候,為了符合特定的數據庫管理系統的語法,ODBC驅動程序還會對應用程序的要求作適當修改.這里,ODBC驅動程序的作用與運行在Windows下的打印機驅動程序的作用非常相似.??? 數據源,由用戶要訪問的數據及與之相關的操作系統、數據庫管理系統和用于訪問數據庫管理系統所需的網絡平臺組成.??? 對應用程序而言,ODBC驅動程序管理器和ODBC驅動程序就像一個實現ODBC函數調用的整體單元,應用程序感覺不到它們之間的分工合作關系.整個ODBC的結構是基于一種獨特的動態鏈接庫DLL而存在的,它使得系統完全模塊化了.??? 三、利用ODBC? API的C語言ODBC編程??? 下面以一個典型ODBC數據庫訪問程序的偽代碼為例,說明用ODBCAPI的C語言進行ODBC編程的一般步驟.該程序從用戶接受SQL查詢語句,然后獲取結果,集中各行各列的數據.??? HENV? henv??? HDBChdbc??? HSTMThstmt??? int? nCols??? SQLALLocEnv(&henv)/*環境申請,獲得一個環境句柄*/??? SQLAllocConnect(henv,&hdbc)/*連接申請,獲得數據庫連接句柄*/??? SQLDriverConnect(hdbc,…)/*與具體的ODBC驅動程序和數據源聯系*/??? SQLAllocStmt(hdbc,&hstmt)/*語句申請,獲得一個語句句柄*/??? Input? SQLStatement/*從用戶接受SQL語句*/??? SQLExecDirect(hstmt,SQLStatement,…)/*執行SQL語句*/??? SQLNumResultCols(hstmt,&nCols)/*獲取結果
總結
以上是生活随笔為你收集整理的c语言odbc编程,c语言之odbc编程指南c语言之odbc编程指南.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Linux系统备份与还原-Clonezi
- 下一篇: 单页应用和多页应用
