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

利用VC技術

2014-12-31 00:00:00王向陽
科技致富向導 2014年20期

【摘 要】本文詳細介紹并使用了基于VC6.0的開發技術。使學員掌握如何在ACCESS數據庫中存取大二進制數據。我們以.BMP格式的圖片的存取為例。簡單的介紹了存取的方法。

【關鍵詞】二進制對;ADO;存儲結構

1.ORACLE數據庫簡介

Oracle數據庫是以高級結構化查詢語言(SQL)為基礎的大型關系數據庫。通俗地講,它使用方便邏輯管理的語言操縱大量有規律數據的集合,是目前最流行的服務器/客戶機體系的數據庫之一。

1.1 Oracle 的特點

Oracle7.x以來引入共享SQL和多線索服務器體系結構。這減少了Oracle的資源占用,增強了Oracle的能力,使之在低檔軟硬件平臺上用較少的資源就可以支持更多的用戶而在高檔的平臺上可以支持成百上千個用戶。

提供了基于角色(Role)分工的安全保密管理。在數據庫管理功能,完整性檢查,安全性,一直性方面都有良好的表現。

提供了與第三代高級語言的接口軟件PRO*系列,能在C,C++等主語言中嵌入SQL語句及過程化(PL/SQL)語句對數據庫中的數據進行操作。

1.2 Oracle 的存儲結構

物理結構。Oracle數據庫在物理上是存儲于硬盤的各種文件,它是活動的,可擴充的,它隨著數據的添加和應用程序的增大而變化。

邏輯結構。Oracle 數據庫在邏輯上是由許多表空間組成的。主要分為系統表空間和非系統表空間。非系統表空間內存儲著各項應用的數,索引,程序等相關信息。要建立較大的Oracle 應用系統時,應先創建它所獨占的表空間,同時定義物理文件的存放路徑和所占硬盤的大小。

Oracle以穩定并適合作為大型應用的數據庫平臺而著稱。 但他的可操作性不強,不是和中小型應用軟件系統。一般不選擇為小型應用數據庫平臺。

1.3 BLOB的起源

數據庫在當今的應用越來越廣泛了,同樣伴隨著領域的廣泛,存儲的內容也不在是只有數值、字符、boolean幾種類型,而是越來越多樣化。在這樣的前提下就出現了Blob類型。

Blob是指二進制大二進制對象也就是英文Binary Large Object的所寫,由此可見這個類型都是用來存儲大量數據而設計的,BLOB是用來存儲大量二進制數據的。

1.4 BLOB的概述

1.4.1大對象類型概述

大對象類型BLOB全稱為Binary Large Objects,即二進制大對象??梢园袯LOB區別為三種形式:聲像數據、二進制數據和大文本數據。因此,最常見的應用就是存儲圖形、聲音等對象,此外,大二進制對象、OLE對象也可以通過BLOB類型存入數據庫,如果文本對象過大,超出了文本類型的規定長度,則必須用BLOB字段進行存儲。我們在經常使用的編程環境中并不能直接支持BLOB字段,因此需要調用相應的函數完成BLOB的使用。不同的數據庫系統對大二進制對象類型的支持不同,常用數據庫系統支持的大二進制對象數據類型。

1.4.2大二進制對象的存取方法

(1)利用MFC提供的CLongBinary類。VC存取大二進制對象數據有眾多方法,如OLE、ActiveX等,而VC的MFC提供的CLongBinary類可以方便地實現存取BLOB字段。使用CLongBinary類可以存取超過MAXINT數目的數據,最大為可以得到的內存容量。但數據完全保存在內存中,對超大量數據消耗太大。

(2)利用ODBC的SQLGetData和SQLPutData函數。對于不能存儲在單一緩沖區中的數據,在行中的其他數據已被獲取之后,可以直接用SQLGetData分批從驅動程序檢索這些數據。為了從一列檢索長數據,應用程序首先調用SQLFetchScroll或SQLFetch移動一行,并且調用SQLGetData獲取綁定列的數據。SQLPutData允許在應用程序語句執行時,把參數或字段送到驅動程序。該函數用來把字符或二進制數值送到字符、二進制或數據源指定類型的字段。它可以傳遞任何類型的數據,但對字符和二進制數據可傳遞部分數據、綁定緩沖區并讓驅動器從緩沖區中檢索數據。

(3)使用ADO存取BLOB數據。

可以使用ADO中的AppendChunk函數來存取BLOB數據。AppendChunk包含在Field對象中,原型如下:HRESULT AppendChunk (const_variant_t Data );從函數原型中可以看到關鍵的問題是需把二進制數據賦值給VARIANT類型的變量。對應于保存數據時我們所使用的AppendChunk函數,讀取數據應該使用GetChunk函數,GetChunk的原型如下:_variant_t GetChunk (long Length );給出數據的長度后GetChunk將返回包含數據的VARIANT類型變量,然后我們可以利用SafeArrayAccessData函數得到VARIANT變量中指向數據的char *類型的指針,以方便處理。

1.4.3數據轉換過程中大二進制對象處理方法

在數據轉換中,首先取出源數據源的元數據,判斷源數據源和目的數據源中是否存在字段為大二進制對象的類型。對于源數據源中的每個大二進制對象字段的數據,選擇相應的大二進制對象讀取方法,把此大二進制對象數據取出后保留在一個臨時文件中,然后在目的數據庫插入數據,遇到大二進制對象字段時,選擇相應的大二進制對象存取方法,再從臨時文件中依次讀出數據插入到指定字段中。

2.什么是ADO

ADO是ActiveX數據對象(ActiveX Data Object),這是Microsoft開發數據庫應用程序的面向對象的新接口。ADO訪問數據庫是通過訪問OLE DB數據提供程序來進行的,提供了一種對OLE DB數據提供程序的簡單高層訪問接口。ADO技術簡化了OLE DB的操作,OLE DB的程序中使用了大量的COM接口,而ADO封裝了這些接口。所以,ADO是一種高層的訪問技術。

2.1 ADO的對象

ADO是目Microsoft通用的數據庫訪問技術。ADO編程模型定義一組對象,ADO對象模型包含9個對象:Connection,Recordset,Record, Command,Parameter,Field,Property,Stream和Error.

2.2該程序主要用到的4個對象

Connection對象

2.3說明

Connection 對象代表與數據源進行的唯一會話。如果是客戶端/服務器數據庫系統,該對象可以等價于到服務器的實際網絡連接。取決于提供者所支持的功能,Connection 對象的某些集合、方法或屬性有可能無效。

2.4 Error對象

Error 對象包含與單個操作(涉及提供者)有關的數據訪問錯誤的詳細信息。

3.說明

任何涉及 ADO 對象的操作都會生成一個或多個提供者錯誤。每個錯誤出現時,一個或多個 Error 對象將被放到 Connection 對象的 Errors 集合中。當另一個 ADO 操作產生錯誤時,Errors 集合將被清空,并在其中放入新的 Error 對象集。

主站蜘蛛池模板: 综合色区亚洲熟妇在线| 色视频国产| 综合五月天网| 天堂av综合网| 四虎国产永久在线观看| 在线精品自拍| 狠狠v日韩v欧美v| 国产91精品久久| 亚洲欧洲日产无码AV| 国产成人毛片| 精品夜恋影院亚洲欧洲| 亚洲成人在线免费| 熟妇人妻无乱码中文字幕真矢织江 | 亚洲精品第一在线观看视频| 久久久久久尹人网香蕉 | 四虎精品国产AV二区| 国产精品无码一二三视频| 国产欧美日韩精品第二区| 国产成年无码AⅤ片在线| 福利在线一区| 人人澡人人爽欧美一区| 国产成人亚洲精品色欲AV | 亚洲欧美日韩精品专区| 欧美亚洲一区二区三区导航| 91网址在线播放| 在线观看的黄网| 国产成人资源| 亚洲精品麻豆| 天天色天天综合网| a天堂视频在线| 欧美激情视频一区| 免费日韩在线视频| 亚洲欧美人成电影在线观看| 亚洲AⅤ波多系列中文字幕| 欧美一区精品| 456亚洲人成高清在线| 国产福利影院在线观看| 国内精品视频在线| av在线人妻熟妇| 国产成+人+综合+亚洲欧美| 亚洲成人动漫在线| 99久久精品免费视频| 欧美性爱精品一区二区三区| 亚洲第一在线播放| 欧美啪啪一区| 久青草网站| 91无码网站| 国产凹凸一区在线观看视频| 制服丝袜国产精品| 亚洲aaa视频| 欧美国产日本高清不卡| 欧美伊人色综合久久天天| 9cao视频精品| 亚洲欧美日韩成人在线| 中国国产A一级毛片| 黄色网在线| 亚洲国产中文欧美在线人成大黄瓜| 亚洲精品第一页不卡| 高清无码手机在线观看| 亚洲开心婷婷中文字幕| 一区二区三区在线不卡免费| 欧美福利在线| 国产在线自乱拍播放| 2022精品国偷自产免费观看| 欧美亚洲国产精品久久蜜芽| 欧美三级视频在线播放| 九九香蕉视频| 99热这里只有精品国产99| 少妇人妻无码首页| 波多野结衣二区| 色老二精品视频在线观看| 亚洲国产精品一区二区第一页免| WWW丫丫国产成人精品| 欧美97色| 亚洲一区二区三区麻豆| 精品自窥自偷在线看| 伊人久久大香线蕉影院| 99色亚洲国产精品11p| 成人伊人色一区二区三区| 免费av一区二区三区在线| 免费人成黄页在线观看国产| 毛片基地美国正在播放亚洲 |