一、數據庫中的圖像存取方法
1. 讀取image類型的數據
讀取image類型數據的方法可分為以下幾步:
1) 先使用無符號字節數組存放數據庫對應的數據集中表的image類型字段的值。例如:
byte[] bytes= (byte[]) image類型字段值
2) 使用MemoryStream類,該類創建支持存儲區為內存的流。即MemoryStream類創建的流以內存而不是磁盤或網絡連接作為支持存儲區。其構造函數為:
public MemoryStream(byte[] buffer);
3) 使用Bitmap類,該類封裝了GDI+位圖,此位圖由圖形圖像及其屬性的像素數據組成。Bitmap對象是用於處理由像素數據定義的圖像的對象。其構造函數為:
public Bitmap(Stream stream);
4) 在窗體中利用PictureBox控件對象顯示圖像。
2. 保存image類型的數據
保存image類型數據的方法也分為以下幾步:
1) 使用Stream類,首先從圖像文件中獲取流對象,再利用該類的Read方法從圖像文件中讀取二進制數據存入字節數組中。Read方法為:
public abstract int Read([In, Out] byte[] buffer, int offset, int count);
2) 將字節數組中的值存入數據庫對應的數據集中表的image字段。格式為:
image類型字段= bytes;
3) 更新數據庫,就可以完成保存圖像數據的功能。
二、 數據庫中的圖像存取示例
下面通過一個例子說明如何存取SQL Server數據庫中的圖像。
(1) 創建一個Windows應用程序,設計窗體界面如圖所示。
⑵ 添加名稱空間引用
using System.Data;
using System.Data.SqlClIEnt;
using System.IO;
⑶ 添加字段聲明
private string connString="server=localhost; integrated security=sspi; database=pubs";
SqlConnection conn;
SqlDataAdapter adapter;
DataSet dataset;