999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談如何基于ODBC實現數據庫連接

2013-01-01 00:00:00何偉
電腦迷 2013年1期

摘 要 本文介紹了ODBC的運行機制,著重討論了VisualC++1.5下應用MFC進行ODBC編程的方法。

關鍵詞 ODBC 連接 MFC

中圖分類號: TP312 文獻標識碼:A

1 開放數據庫連接

ODBC(OpenDataBaseConnectivity,開放數據庫連接)是微軟開放服務結構中有關數據庫的一個組成部分。它建立了一組規范,并提供了一組應用程序調用接口。用這樣一組接口建立的應用程序,對數據庫的操作不依賴于任何數據庫管理系統,不直接與任何DBMS打交道,由此可實現應用程序對不同DBMS的共享。數據庫操作的“數據源”對應用程序是透明的,所有的數據庫操作由對應DBMS的ODBC驅動程序(ODBCDriver)完成。

2 ODBC管理器

在ODBC中,數據源是一個重要的概念,它是數據庫位置和數據庫類型等連接信息的總和。數據源在使用前必須通過ODBC管理器(Administrator)進行登錄。在登錄數據源時,要搞清數據源名(Datasourcename)、數據庫文件名(Databasename)和數據表格名(Tablename)這三者的概念和相互關系:數據源實際是一種數據連接的抽象,數據源名是登錄時賦予的“連接”的名稱,以供應用程序使用,至于該數據源下連接的是哪一個數據庫,則由數據庫文件名指出(如Access2.0forMSOffics中的.mdb文件);一個數據庫文件中可以包括若干個數據表格(table)和其他內容。在關系文件中,應用程序最終的操作目標即是這些表格中的行(row記錄)和列(columns字段)數據。對于foxprow數據源,數據庫文件名是“路徑名”,而該路徑下的所有數據文件(*.dbf)都屬于該“數據庫文件”名下的數據表格(table)。

3 ODBC應用編程

在VisualC++中,MFC(MicrosoftFoundationClass基本類庫)是經過對Windows應用程序中各個部件進行類的抽象而建立的一組預定義的類,如窗口基類(CWnd)、各種窗口派生類等等,這些類在應用程序中可直接使用,不需要重新定義。在MFC中,也為ODBC預定義了幾個類,其中主要的是數據庫類(CDatabase)和記錄集合類(CRecoredset)。這兩個類既有聯系又有區別,在應用程序中,可以分別使用,也可以同時使用,每一類也可以同時存在多個對象。CDatabase的每一個對象代表了一個數據源的連接,CRecordset的每一個對象代表了從一個數據表中按預定的查詢條件獲得的記錄的集合,一般說來,前者適宜于對數據源下的某個數據表格進行整體操作,后者用于對所選的記錄集合進行處理。

在應用編程時,一般使用CDatabase和CRecordset的派生類。假設派生類分別為CUserdb和CUserset,而在應用類CUserClass中,使用了一個CUserdb對象(m-db)和一個Cuserset對象(m-recset)。

3.1 m-db連接數據源

m-db在完成定義構造后,要調用CDatabase的打開(Open)函數以進行數據源的實際連接:

m-db.Open(lpszDSN,bExclusive,bReadOnly,lpszConnect);

打開函數需要輸入四個參數。lpszDSN:要連接的數據源的名字,如果lpszDSN=NULL且lpszConnect中也沒有指明數據源名,則該調用會自動出現一個對話框列出所有可用的數據源(名),讓用戶選擇。bExclusive:只支持“假”(False)值,表示為共享(share)方式連接。因此,應用程序在運行前,一定要裝入share.exe或在Windows的system.ini中裝入vshare.386。ReadOnly:指明數據源操作方式是“只讀”還是可以修改。lpszConnect:指明連接字符串,包括數據源名、用戶標識碼、口令等信息。該字符串必須以“ODBC;”開頭,表示該連接是與一個ODBC數據源的連接(考慮以后版本支持非ODBC數據源)。

3.2 m-db操作數據

數據源打開后,即可對數據庫文件中的數據表格進行操作,操作以調用SQL語句方式進行,可直接通過ODBCAPI函數,或者CDatabase類成員函數ExecuteSQL。數據表名在SQL語句中指定,如下語句則在所在的數據源中的clerk表中插入一個記錄,記錄的name字段值為\"chen\"。

m-db.ExecuteSQL(\"insertintoclerk(name)value(’chen’)\");3.m-recset連接數據m-recset在構造時,可傳入一個CDatabase對象指針,作為m-recset的數據源,當為NULL時,必須重載CRecordset的函數GetDefaultConnect,以提供數據源連接字符串(相當于m-db.Open中的lpszConnect)。如下則表示連接名為COMPANY的數據源(當傳入了合法的CDatabase對象指針時,該函數將不被調用)。

參考文獻

[1] 張韓雙.Visual C++中實現數據庫連接[J].科技信息(科學教研).2012(24).

[2] 飛思科技產品研發中心.Java靈感編程[M].北京:電子工業出版社,2002.

[3] 張洪斌.Java程序設計百事通[M].北京:清華大學出版社,2001.

主站蜘蛛池模板: 欧美久久网| 精品国产电影久久九九| 狠狠色噜噜狠狠狠狠色综合久| 国产在线精品香蕉麻豆| 久久这里只有精品国产99| 在线va视频| 亚洲va欧美va国产综合下载| 狠狠色丁香婷婷综合| 99久久国产精品无码| 国产精品自在线天天看片| 国产亚洲精久久久久久无码AV| 久久精品人人做人人爽| 国产成人高精品免费视频| 亚洲V日韩V无码一区二区| 国产一级视频久久| 国产成人免费手机在线观看视频 | 内射人妻无套中出无码| 亚洲第一成网站| h网站在线播放| 精品福利视频网| 亚洲av无码人妻| 欧美一区二区精品久久久| 国产精品极品美女自在线看免费一区二区 | 日本www色视频| 性视频一区| 日韩欧美综合在线制服| 亚洲欧洲日韩国产综合在线二区| 不卡午夜视频| 国产理论一区| 色综合久久久久8天国| 精品亚洲欧美中文字幕在线看| 国产九九精品视频| 国产99视频精品免费视频7| 亚洲欧美另类中文字幕| 久久久久青草大香线综合精品| 国产欧美日韩91| 91精品在线视频观看| 久久伊人色| 亚洲天堂久久新| 黄色在线网| 中文字幕第4页| 茄子视频毛片免费观看| 五月天香蕉视频国产亚| 青草视频在线观看国产| 色精品视频| 欧美国产精品不卡在线观看 | 日本不卡免费高清视频| 午夜视频www| 国产在线小视频| 日本三区视频| 亚洲精品你懂的| 97国产在线播放| 国产原创演绎剧情有字幕的| 国产欧美精品专区一区二区| 亚洲欧美色中文字幕| 九九九精品视频| 国产1区2区在线观看| 国内视频精品| 国产在线一区视频| 色爽网免费视频| 在线欧美一区| 亚洲美女一区| 狠狠色丁香婷婷综合| 九色在线观看视频| 日韩a级片视频| 69综合网| 免费Aⅴ片在线观看蜜芽Tⅴ| 亚洲aaa视频| 国产69囗曝护士吞精在线视频| 欧美精品亚洲二区| 天天干伊人| 国产色婷婷视频在线观看| 欧类av怡春院| 免费看a级毛片| 日韩欧美中文字幕在线精品| 国产精品一老牛影视频| 色精品视频| 激情五月婷婷综合网| 91网址在线播放| 亚洲开心婷婷中文字幕| 免费又黄又爽又猛大片午夜| 夜夜高潮夜夜爽国产伦精品|