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

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>
            免费亚洲一区| 99成人免费视频| 亚洲欧美电影在线观看| 欧美日韩精品在线播放| 国产精品国产自产拍高清av| 久久婷婷综合激情| 欧美高清视频www夜色资源网| 久久午夜视频| 免费久久99精品国产| 在线观看亚洲视频啊啊啊啊| 欧美成人亚洲成人| 亚洲专区欧美专区| 亚洲精品社区| 欧美日韩ab片| 久久久久免费观看| 99www免费人成精品| 国产综合香蕉五月婷在线| 欧美视频导航| 欧美成人在线影院| 午夜在线电影亚洲一区| 国产视频综合在线| 国产精品极品美女粉嫩高清在线 | 欧美韩国日本综合| 国产日韩精品视频一区| 欧美国产精品一区| 久久一区二区三区国产精品| 久久久国产精品一区| 韩国女主播一区二区三区| 国产精品国产三级国产专播精品人 | 欧美日韩高清在线| 久久国产欧美| 久久精品水蜜桃av综合天堂| 亚洲精品在线观看免费| 一区电影在线观看| 亚洲日韩欧美视频| 亚洲另类黄色| 亚洲美女中文字幕| 亚洲国产日韩一区| 黄色资源网久久资源365| 欧美h视频在线| 一区二区三区成人| 亚洲美女色禁图| 亚洲另类一区二区| 亚洲最新中文字幕| 宅男噜噜噜66一区二区| 亚洲婷婷在线| 久久久免费av| 久久这里有精品视频 | 亚洲一卡二卡三卡四卡五卡| 日韩午夜电影| 亚洲精品美女免费| 欧美视频在线观看视频极品| 欧美日韩精品免费观看视一区二区| 久久久久亚洲综合| 美女视频黄 久久| 欧美激情第六页| 欧美丝袜一区二区三区| 国产精品系列在线| 国内一区二区在线视频观看| 在线看视频不卡| 99亚洲一区二区| 先锋影音网一区二区| 久久久久久久性| 欧美国产综合一区二区| 亚洲美女精品一区| 午夜日韩激情| 欧美高清在线观看| 久久久久免费视频| 欧美无砖砖区免费| 一区二区三区中文在线观看| 亚洲精品午夜| 欧美一区二区视频观看视频| 欧美成人精品一区二区| 欧美亚洲一区二区在线观看| 艳妇臀荡乳欲伦亚洲一区| 欧美一区二区三区免费看| 欧美xxx在线观看| 一本色道久久综合狠狠躁篇的优点 | 欧美国产在线观看| 午夜精品福利视频| 欧美日韩国产区| 国产综合久久| 亚洲视频电影在线| 免费毛片一区二区三区久久久| 99亚洲一区二区| 久久影院亚洲| 国产日产欧产精品推荐色| 一本色道久久88综合亚洲精品ⅰ| 欧美一区二区在线观看| 亚洲一区二区视频在线观看| 鲁大师成人一区二区三区| 亚洲专区一区| 欧美午夜免费电影| aa级大片欧美三级| 亚洲国产精品99久久久久久久久| 久久精品电影| 亚洲欧美bt| 国产精品久久久久毛片大屁完整版| 亚洲国产精品一区二区尤物区| 亚洲视频在线一区| 激情五月婷婷综合| 一区二区欧美在线| 午夜精品理论片| 日韩一级精品视频在线观看| 午夜国产精品视频| 一本一本久久a久久精品综合妖精| 亚洲一区三区在线观看| 亚洲日本aⅴ片在线观看香蕉| 亚洲午夜久久久久久尤物| 亚洲高清视频在线| 亚洲淫性视频| 一区二区高清| 欧美丰满高潮xxxx喷水动漫| 欧美一区二区成人| 欧美日韩日本网| 欧美承认网站| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲视频专区在线| 亚洲午夜黄色| 欧美人在线观看| 亚洲成色777777女色窝| 欧美肥婆bbw| 国产亚洲欧美一区二区| 亚洲午夜久久久久久久久电影院| 亚洲日本视频| 欧美成人午夜影院| 欧美二区在线看| 亚洲国产成人久久综合| 久久国产视频网| 久久九九久精品国产免费直播| 欧美v日韩v国产v| 久久三级福利| 亚洲电影中文字幕| 亚洲精品在线三区| 国产精品区二区三区日本| 亚洲人www| 久久精品视频在线播放| 久久精品导航| 国产日韩欧美二区| 亚洲午夜精品久久久久久浪潮| 亚洲午夜精品网| 欧美天天影院| 中文久久精品| 午夜一区二区三区不卡视频| 国产精品嫩草影院av蜜臀| 亚洲深夜激情| 欧美一区二区三区免费观看视频| 国产精品无码永久免费888| 亚洲综合清纯丝袜自拍| 久久国产精品久久久久久电车| 欧美日韩mv| 久久精品系列| 欧美视频一区二区三区在线观看| 亚洲精品一区二区三| 亚洲女性裸体视频| 国产日韩欧美精品综合| 久久精品综合网| 亚洲国产精品第一区二区三区 | 精品动漫3d一区二区三区| 久久久九九九九| 亚洲国产精品欧美一二99| 午夜精品av| 亚洲欧美日韩国产综合在线| 亚洲欧美在线另类| 蜜臀91精品一区二区三区| 亚洲欧洲中文日韩久久av乱码| 欧美日韩成人在线| 亚洲砖区区免费| 欧美成人久久| 亚洲综合导航| 99国产麻豆精品| 久久久久久欧美| 亚洲国产精品热久久| 国内精品伊人久久久久av影院 | 日韩天堂在线观看| 亚洲一区二区三区四区在线观看| 国产麻豆精品在线观看| 久久亚洲综合网| 99国产麻豆精品| 麻豆av一区二区三区久久| 一本久久a久久免费精品不卡| 国产欧美精品一区二区三区介绍| 老司机67194精品线观看| 制服丝袜激情欧洲亚洲| 欧美特黄一区| 久久噜噜噜精品国产亚洲综合 | 最新日韩在线| 久久国产精品久久久久久电车| 亚洲欧洲久久| 国产一区自拍视频| 欧美片在线播放| 久久人体大胆视频| 亚洲图片在线| 亚洲人妖在线| 欧美激情视频在线播放 | 欧美国产丝袜视频| 欧美一级在线视频| 亚洲一区二区视频在线观看| 亚洲国产精品毛片| 国产一区香蕉久久|