青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

TanZek's 技術空間

勇往直前,專注于技術...

首頁 新隨筆 聯系 聚合 管理
  7 Posts :: 19 Stories :: 13 Comments :: 0 Trackbacks

在網上看到了不少介紹 VB 如何在 SQL SERVER 中存取圖片數據的文章。

經自己實現后,最終把心得拿出來和大家分享。

?

GOOGLE 搜索,網上的對數據庫圖片進行存儲的文章,絕大部分是來自一篇。都是采用 ADO Stream 方法使用 field 對象的 AppendChunk GetChunk 方法將大容量的二進制數組通過 Update 存儲到數據庫中。

?

Dim Conn as ADODB.Connection???? ' 聲明 Connection 對象

Dim Rs as ADODB.RecordSet??? ' 聲明 RecordSet 對象

CONST BLOCKSIZE=4096??? ' 定義緩沖區塊大小

?

Set Conn = New ADODB.Connection

Conn.ConnectionString = " DATA SOURCE = PUBS "??? 'ODBS 數據源名稱為 PUBS

Conn.Open

Set Rs = New ADODB.RecordSet

Rs.Open "test", Conn, adOpenKeyset, adLockOptimistic??? ' 數據庫表為 "test"

?

Dim Data() as Byte???? ' 聲明字節型數組,存放數據庫圖片信息

Dim FileLength as Integer??? ' 文件長度變量

Dim BlockNum as Integer???? ' 存放緩沖區塊的個數

Dim DataLeft as Integer????? ' 存放取整塊后的遺留信息

?

Open "C:\TEST.BMP" for BINARY as #1??? ' 假設圖片文件為 C:\TEST.BMP

Dim i as Integer

FileLength = LOF(1)

BlockNum = FileLength \ BLOCKSIZE????? ' 整取塊大小,得緩沖區塊數

DataLeft = FileLength Mod BLOCKSIZE???? ' 整塊取后的遺留

ReDim Data(BLOCKSIZE)??? ' 重新定義緩沖區塊大小為 BLOCKSIZE

For i=1 to BlockNum

?????? Get #1,,Data()

?????? Rs(0).AppenChunk Data()??? ' Data() 復制至 Rs(0) 字段,假設 test 表中的 image 為第一字段

Next i

ReDim Data(DataLeft)??? ' 重新定義塊大小取得遺留信息

Get #1,,Data()

Rs(0).AppendChunk Data()???? ' 此時圖片信息已全部拷貝至當前記錄 Rs(0) 字段

Close #1

...

Rs.UpDate

?

具體的存儲方法如上所述。

?

下面將簡單的介紹取出信息的方法:

??? 介紹說,將圖片二進制存儲信息用 GetChunk 方法取出,將其存儲為臨時文件即可。

REM?? Rs 為打開的數據庫表對應的 RecordSet 對象,其中的 image 對象仍然為第一字段

REM?? 接著上面的思路

?

Dim Data() as Byte??? ?' 聲明字節型數組,存放數據庫圖片信息

Dim FileLength as Integer??? ' 文件長度變量

Dim BlockNum as Integer???? ' 存放緩沖區塊的個數

Dim DataLeft as Integer????? ' 存放取整塊后的遺留信息

Dim i as Integer

ReDim Data(BLOCKSIZE)

Open "C:\TMP.BMP" for BINARY as #1

FileLength = Rs(0).ActualSize

BlockNum = FileLength \ BLOCKSIZE

DataLeft = FileLength Mod BLOCKSIZE

ReDim Data(BLOCKSIZE)

For i = 1 to BlockNum

?????? Data() = Rs(0).GetChunk(BLOCKSIZE)??? 'GetChuk 方法有一個參數為 Size

Next i

Put #1,,Data()

ReDim Data(DataLeft)
Data() = Rs(0).GetChunk(DataLeft)

Put #1,,Data()

Close #1

?

關于存取的內容全部于上面已經列出,組織的方法還請各位網友自行去組織一下。

如果有什么缺乏說明或是不正確的地方,還請各位能夠指出。

?

對于此問題的實現,本人還有一個設想,打算利用 SQL SERVER 的服務器端來實現存儲過程,使得客戶端的存取數據庫圖片信息更加方便。

具體的實現可能還得努力等看書之后,期待中 ......


后記:
在具體存儲過程中,遇到了一個關于Rs的屬性長度的問題,原先采用的是Len(Rs(0))[Rs(0)為image對象],但測試時總是缺少一半的字符長度,后來查明對于Byte型數組進行Len()求值時,只會取到一半的數值。如:
Dim?a(4096)?as Byte
Msgbox Len(a())
結果是:2048

原因分析:可能跟VB中Len函數的ANSI或是UniCODE有關。但是了準確的原因還沒有查出,因為時間關系,暫時還不能去做,到時查出后再附上。

posted on 2006-04-22 00:16 TanZek 閱讀(508) 評論(0)  編輯 收藏 引用 所屬分類: 家教辦公系統的開發日志
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人精品一区二区三区| 一本大道久久a久久精品综合| 亚洲在线一区二区| 欧美刺激性大交免费视频| 香蕉久久夜色精品国产使用方法| 亚洲高清一二三区| 亚洲乱码国产乱码精品精可以看| 国产午夜精品视频| 伊大人香蕉综合8在线视| 国产亚洲亚洲| 国产日韩免费| 亚洲国产三级网| 一区二区三区视频在线播放| 一本一道久久综合狠狠老精东影业| 亚洲国产高清自拍| 91久久久在线| 亚洲永久免费av| 久久久久一本一区二区青青蜜月| 久久精品二区| 亚洲免费中文字幕| 国产情人节一区| 欧美激情影音先锋| 欧美性猛交一区二区三区精品| 亚洲精品国产精品久久清纯直播 | 狠狠色丁香久久婷婷综合丁香| 亚洲一区二区三区欧美| 新狼窝色av性久久久久久| 亚洲激情不卡| 欧美日韩国产一区| 亚洲国产日韩一区| 免费人成网站在线观看欧美高清| 亚洲一区二区三区成人在线视频精品 | 国产私拍一区| 久久久www成人免费毛片麻豆| 夜夜躁日日躁狠狠久久88av| 亚洲欧美一区在线| 久久久精品日韩欧美| 亚洲人体一区| 久久久久久免费| 亚洲欧美另类中文字幕| 久久频这里精品99香蕉| 亚洲欧美日韩直播| 欧美88av| 国产拍揄自揄精品视频麻豆| 欧美日韩国产综合在线| 久久久久久久综合色一本| 亚洲综合国产激情另类一区| 欧美精品在线一区二区| 国产一区二区三区免费观看| 亚洲中午字幕| 99re热这里只有精品视频| 久久久亚洲一区| 国产亚洲一区二区三区在线播放| 激情亚洲网站| 欧美一区二区在线看| 一本大道av伊人久久综合| 久久精品国产第一区二区三区| 老巨人导航500精品| 美女在线一区二区| 久久精品30| 一区二区三区在线免费观看| 99在线精品观看| 男女视频一区二区| 校园春色国产精品| 亚洲日韩视频| 久久国产精品久久久久久久久久 | 日韩一区二区精品视频| 亚洲欧美日本视频在线观看| 亚洲国产女人aaa毛片在线| 亚洲自拍高清| 91久久亚洲| 国产三级欧美三级日产三级99| 亚洲第一久久影院| 久久精品人人做人人综合 | 中文亚洲欧美| aⅴ色国产欧美| 国产精品久久久久久户外露出 | 亚洲精品国产精品国自产观看| 久久嫩草精品久久久久| 亚洲高清一区二区三区| 亚洲国产精品一区制服丝袜| 欧美高清视频在线播放| 亚洲图片欧洲图片日韩av| 中文精品视频| 国内精品免费午夜毛片| 欧美aⅴ99久久黑人专区| 欧美国产一区视频在线观看| 中文精品99久久国产香蕉| 亚洲午夜精品福利| 国产亚洲va综合人人澡精品| 久久亚洲春色中文字幕| 欧美wwwwww| 午夜免费电影一区在线观看| 久久精品视频播放| 中文一区在线| 欧美在线一区二区| 99v久久综合狠狠综合久久| 亚洲一区久久| 国产精品一二| 一道本一区二区| 国产一区二区三区久久 | 亚洲一区二区精品| 精品动漫3d一区二区三区| 亚洲电影av| 国产午夜精品全部视频播放| 亚洲黄色毛片| 激情视频一区二区三区| 亚洲麻豆av| 亚洲第一成人在线| 亚洲天堂黄色| 亚洲精品激情| 性久久久久久久久| 亚洲免费婷婷| 欧美日韩一区二区国产| 欧美电影免费观看| 国产亚洲成年网址在线观看| 一本色道久久综合亚洲精品高清| 激情久久婷婷| 亚洲欧美国产va在线影院| 一区二区三区回区在观看免费视频| 欧美在线观看一二区| 亚洲一区二区免费看| 欧美精品一线| 亚洲国产精品va| 亚洲成人在线网站| 久久精品日产第一区二区三区| 欧美在线视频二区| 国产精品亚洲综合| 亚洲天堂黄色| 亚洲尤物在线视频观看| 欧美三区不卡| 99精品国产在热久久| 99视频精品| 欧美日韩理论| 日韩网站在线观看| 一区二区三区久久| 欧美精品在线观看91| 亚洲人成在线影院| 亚洲精品视频一区二区三区| 欧美国产精品v| 日韩亚洲在线| 亚洲无毛电影| 国产精品资源| 欧美中文在线免费| 看欧美日韩国产| 亚洲国产综合在线| 欧美国产激情二区三区| 亚洲精品欧美专区| 日韩亚洲欧美精品| 国产精品豆花视频| 久久av免费一区| 亚洲第一黄网| 夜夜嗨av一区二区三区网站四季av | 国产又爽又黄的激情精品视频| 欧美一区二区三区男人的天堂| 欧美在线免费播放| 激情一区二区| 欧美国产国产综合| 亚洲精品久久久一区二区三区| 亚洲精品偷拍| 国产精品激情av在线播放| 香蕉国产精品偷在线观看不卡| 日韩天堂av| 亚洲一区二区欧美日韩| 国产欧美日韩一区二区三区| 欧美亚洲在线播放| 亚洲国产精品一区二区www在线| 亚洲视频久久| 国产在线视频不卡二| 久久中文久久字幕| 在线亚洲欧美视频| 欧美xxx成人| 性做久久久久久久久| 在线看国产一区| 欧美日韩精品一区视频| 香蕉成人伊视频在线观看| 欧美激情亚洲综合一区| 亚洲免费影院| 亚洲成在人线av| 国产精品丝袜久久久久久app| 久久色在线观看| 亚洲深夜av| 亚洲国产欧美日韩精品| 久久精品青青大伊人av| 中文av一区二区| 在线观看一区| 国产精品无码永久免费888| 欧美高清视频在线观看| 久久久99国产精品免费| 这里只有视频精品| 亚洲国产天堂久久国产91| 久久久国产精品一区| 亚洲摸下面视频| 夜夜爽www精品| 91久久精品国产91性色tv| 国产自产女人91一区在线观看| 国产精品成人一区| 欧美性天天影院| 欧美天堂亚洲电影院在线播放| 欧美不卡一区|