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

SQL數據庫中圖形圖像的訪問

2007-12-31 00:00:00謝會賓
成才之路 2007年24期

摘要:本文主要描述圖形圖像數據的處理方式;并介紹集成方式下,如何訪問SQL數據庫中的圖形圖像數據的技術。

關鍵詞:圖形圖像數據;集成式;讀取;保存

隨著計算機技術的不斷發展,計算機可處理的信息源種類也越來越豐富,其中就包括圖形圖像。在日常處理事務中,人們也往往將圖形圖像列為一個重要的相關數據加以保存和處理。圖形圖像文件常見為.bmp、.jpg或.gif文件。

數據庫技術中,通常對圖形圖像數據的處理有兩種方式。(1)集成式:將圖形圖像數據集成到數據庫中,和普通的文本和數值數據存儲在一起,使得給定數據庫實體的所有相關信息都會集中。集成式有利于通過查詢圖形圖像數據的相關文本信息來查找和檢索圖形圖像數據;(2)分離式:即把圖形圖像文件存儲在數據庫外部,在數據庫中包含對象的文件路徑或URL。分離式在編程方面比較容易,數據庫也較小,但必須手動創建、維護數據庫和外部系統文件間的某種鏈接,往往稍不注意就會導致不同步。

大多數現代數據庫如SQL Server、Oracle和UDB提供的二進制存儲區可以容納所有類型的對象。在本文中就是將圖形圖像數據集成到SQL數據庫中,和它們相關的文本和數值數據保存在一起。那么如何訪問集成到數據庫中的圖形圖像數據,并進行存取操作呢?下面就利用SQL數據庫Northwind中自己新建的數據表tuxing(學號(char,10),地址(char,60),圖形(image,16))進行圖形字段值的存取操作。

1. 從SQL數據庫中讀取圖形圖像數據顯示到窗體的圖像控件中

使用SqlDataReader檢索圖形圖像數據類似于檢索字符和數值數據,但有一些重要的區別,其中最主要的區別是要在Command對象的ExecuteReader方法上使用CommandBehavior.SequentialAccess來訪問標記。在指定SequentialAccess時,會改變DataReader兩個方面的默認執行方式。首先,不需按列的返回順序讀取它們,即可以在數據流中快速向前移動。但是,一旦應用程序在返回的數據庫中向后讀取到某個位置,就不能再讀取當前位置之前的數據了。其次,CommandBehavior.SequentialAccess標記關閉了DataReader的正常緩存模式,在正常的緩存模式下,DataReader總是一次返回一行,而不是把結果送回應用程序。

為了訪問文件系統,需要把.NET的System.IO命名空間導入到應用程序中。即在項目中添加代碼: ImportsSystem 和ImportsSystem. IO 。然后利用SqlDataReader和以下的代碼對SQL數據庫中的圖形圖像數據進行訪問:

Private Sub ReadPic_Click(ByVal sServer As String, ByValsDB As String) Handles ReadPic.Click

Dim Scnn1 As New SqlClient.SqlConnection(“SERVER=”Sserver“;INTEGRATED SECURITY=True;DATABASE=” Sdb)

Dim Cmd As SqlClient.SqlCommand =New SqlClient.SqlCommand(“Select 圖形From tuxing Where 學號='009'”,Scnn1)

Dim Fs As FileStream

Dim Bw As BinaryWriter

Dim Ibuffersize As Integer = 1000

Dim Bblobstorage(Ibuffersize-1)As Byte

Dim Lretval As Long

Dim Lstartindex As Long = 0

Dim Soutputfilename As String

Soutputfilename=“Tempexportblobfile”

Fs=New FileStream(Soutputfilename,FileMode. OpenOrCreate,FileAccess.Write)

Bw = New BinaryWriter(Fs)

Dim Rdr As SqlClient.SqlDataReader

Try

Scnn1.Open()

Rdr = Cmd.ExecuteReader(CommandBehavior.SequentialAccess)

Do While Rdr.Read()

Lstartindex = 0

Lretval = Rdr.GetBytes(0, Lstartindex, Bblobstorage, 0, Ibuffersize)

Do While Lretval = Ibuffersize

Bw.Write(Bblobstorage)

Bw.Flush()

Lstartindex = Lstartindex + Ibuffersize

Lretval = Rdr.GetBytes(0, Lstartindex, Bblobstorage, 0, Ibuffersize)

Loop

Bw.Write(Bblobstorage)

Bw.Flush()

Bw.Close()

Fs.Close()

Loop

Rdr.Close()

Lblbigbot.Image=Image.FromFile(“Tempexportblobfile”)

Catch ex As Exception

MsgBox(ex.Message)

Finally

Scnn1.Close()

End Try

End Sub

2. 保存圖形圖像數據到SQL數據庫中

Private Sub Savepic_click(Byval Sserver As String, Byval Sdb As String) Handles Savepic.Click

Dim Scnn1 As SqlClient.SqlConnection=New SqlClient.SqlConnectiong(“SERVER=” Sserver“;INTEGRATED SECURITY=True;DATABASE=” Sdb)

Dim Sda1 As SqlClient.SqlDataAdapter

=New SqlClient.SqlDataAdpter(“Select * From tuxing”,Scnn1)

Dim DataSet11 As DataSet=New DataSet()

Dim Sqlcb=New SqlClient.SqlCommandBuilder(Sqlda)

Dim Fs As FileStream = New FileStream(\"c:\\sunset.jpg\", FileMode.OpenOrCreate, FileAccess.Read)

Dim x As Integer

Try

Sda1.Fill(DataSet11, \"tuxing\")

x= CType(Fs.Length, Integer)

Dim Bblob(x) As Byte

Fs.Read(Bblob, 0, x)

Fs.Close()

Dim Sqldr As DataRow = DataSet11.Tables(“tuxing”).NewRow()

Sqldr(0) = “009”

Sqldr(1) = “c:\\sunset.jpg”

Sqldr(2) = Bblob

DataSet11.Tables(\"tuxing\").Rows.Add(Sqldr)

Sda1.Update(DataSet11, “tuxing”)

MsgBox(“finish!”)

Catch ex As Exception

MsgBox(ex.Message)

End Try

End Sub

參考文獻:

[1] Mike Gunderloy.邱仲潘等譯.ADO與ADO.NET編程指南.電子工業出版社.

[2] 微軟公司.數據庫訪問技術—ADO.NET程序設計.高等教育出版社.

[3] [美]Michael Otey; Denielle Otey著. 史創明,崔金鈴譯.ADO.NET技術參考大全.清華大學出版社.

主站蜘蛛池模板: 免费Aⅴ片在线观看蜜芽Tⅴ| 欧洲一区二区三区无码| 国产精品久久自在自线观看| 亚洲伊人电影| jizz亚洲高清在线观看| 久久窝窝国产精品午夜看片| 亚洲一区网站| 又爽又大又黄a级毛片在线视频 | 毛片视频网址| 久久亚洲日本不卡一区二区| 美女毛片在线| 久久不卡国产精品无码| 女人毛片a级大学毛片免费| 成人综合在线观看| 亚洲国产亚综合在线区| 伊伊人成亚洲综合人网7777| 强奷白丝美女在线观看| 国产精品lululu在线观看| 91视频日本| 日本影院一区| 亚洲一区二区无码视频| 日韩毛片基地| 国产视频自拍一区| 九色视频一区| 国产不卡网| 亚洲视频在线青青| 亚洲V日韩V无码一区二区| 亚洲一级毛片免费看| 亚洲婷婷在线视频| 青青草原偷拍视频| 日本午夜精品一本在线观看| 国产精品毛片在线直播完整版| 亚洲无码熟妇人妻AV在线| 五月婷婷丁香色| 最新精品久久精品| 中文毛片无遮挡播放免费| 无码内射在线| 99爱在线| 日韩国产无码一区| 久久人搡人人玩人妻精品一| 国产成人精品2021欧美日韩| 国产欧美又粗又猛又爽老| 92午夜福利影院一区二区三区| 国产精品乱偷免费视频| 亚洲黄网在线| 国产在线无码av完整版在线观看| 精品伊人久久久香线蕉| 69视频国产| 精品视频第一页| 婷婷五月在线| 香蕉久久国产超碰青草| 国产91导航| 国产玖玖玖精品视频| 一级毛片免费观看不卡视频| 亚洲国产精品无码久久一线| 五月婷婷丁香综合| 好紧好深好大乳无码中文字幕| 大香伊人久久| 亚洲欧美激情小说另类| 91视频首页| 欧美日韩中文国产va另类| 99热这里只有免费国产精品| 99热这里只有精品免费| www.精品国产| 国产9191精品免费观看| 亚洲无码免费黄色网址| 高清色本在线www| 重口调教一区二区视频| 九九九精品视频| 97综合久久| 国产午夜看片| 高清欧美性猛交XXXX黑人猛交 | 91午夜福利在线观看| 国产人人射| 精品久久久久久中文字幕女| 国产麻豆精品在线观看| 亚洲侵犯无码网址在线观看| 日本日韩欧美| 免费无码又爽又黄又刺激网站| 免费jjzz在在线播放国产| 中文字幕伦视频| 日韩精品资源|