亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C# 存取數據庫中的圖像

2019-11-18 16:36:57
字體:
來源:轉載
供稿:網友

一、數據庫中的圖像存取方法

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;

⑷ 在構造函數中添加代碼

       string sqlstr="select * from pub_info";

       conn=new SqlConnection(connString);

       adapter=new SqlDataAdapter(sqlstr,conn);

       SqlCommandBuilder builder=new SqlCommandBuilder(adapter);

       adapter.UpdateCommand=builder.GetUpdateCommand();

       dataset=new DataSet();

       adapter.Fill(dataset,"pub_info");

       //將text1Box1的Text屬性綁定到dataset中的pub_info表的pr_info字段

       this.textBox1.DataBindings.Add(new Binding("Text",dataset,"pub_info.pr_info"));

       for(int i=0;i<dataset.Tables[0].Rows.Count;i++)

       {

              this.listBox1.Items.Add(dataset.Tables[0].Rows[i][0]);

       }

⑸ 添加調用的方法

       private void ShowImage()

       {

           byte[] bytes= (byte[])dataset.Tables[0].Rows[this.listBox1.SelectedIndex][1];

              MemoryStream memStream=new MemoryStream(bytes);

              try

              {

                     Bitmap myImage = new Bitmap(memStream);

                     this.pictureBox1.Image= myImage;

              }

              catch

              {

                     this.pictureBox1.Image=null;

              }

       }

⑹ 添加“更換圖片”的Click事件代碼

private void buttonUpdateImage_Click(object sender, System.EventArgs e)

{

       OpenFileDialog openFileDialog1=new OpenFileDialog();

       openFileDialog1.ShowDialog();

       if (openFileDialog1.FileName.Trim()!="")

   {

              Stream myStream = openFileDialog1.OpenFile();

              int length=(int)myStream.Length;

              byte[] bytes=new byte[length];

              myStream.Read(bytes,0,length);

              myStream.Close();

           dataset.Tables[0].Rows[this.listBox1.SelectedIndex][1] =bytes;

              ShowImage();

       }

}

⑺ 添加“移除圖片”的Click事件代碼

private void buttonMoveImage_Click(object sender, System.EventArgs e)

{

       byte[] bytes= System.Text.Encoding.Unicode.GetBytes("");

       dataset.Tables[0].Rows[this.listBox1.SelectedIndex][1]=

        bytes;

       ShowImage();

}

⑻ 添加“保存更改”的Click事件代碼

private void buttonSave_Click(object sender, System.EventArgs e)

{

       adapter.Update(dataset,"pub_info");

       MessageBox.Show("保存成功");

}

⑼ 添加listBox1的SelectedIndexChanged事件代碼

private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)

{

     ShowImage();

       this.BindingContext[dataset,"pub_info"].Position

       =this.listBox1.SelectedIndex;

}

(10) 運行。  

  可以更換圖片,也可以直接修改textBox1中的內容。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
6080yy精品一区二区三区| 亚洲国产精品久久久久久| 成人羞羞国产免费| 久久免费观看视频| 亚洲tv在线观看| 日韩视频永久免费观看| 国产91精品黑色丝袜高跟鞋| 精品日韩视频在线观看| 欧美福利视频在线观看| 97超级碰碰人国产在线观看| 欧美午夜视频在线观看| 欧美激情一区二区三区久久久| 亚洲区bt下载| 成人av.网址在线网站| 日韩欧美在线视频免费观看| 国产成人福利网站| 欧美极品少妇xxxxⅹ免费视频| 日韩av综合中文字幕| 国产精品jizz在线观看麻豆| 亚洲国产精品久久91精品| 欧美在线一级va免费观看| 中文字幕亚洲欧美一区二区三区| 91在线看www| 欧美日韩加勒比精品一区| 亚洲国产美女精品久久久久∴| 国产在线999| 国产精品九九久久久久久久| 不卡在线观看电视剧完整版| 久久免费精品日本久久中文字幕| 精品亚洲va在线va天堂资源站| 国产精品国产自产拍高清av水多| 欧美电影院免费观看| 久久免费精品日本久久中文字幕| 亚洲综合视频1区| 国产精品中文久久久久久久| 91免费看片网站| 久久精品中文字幕免费mv| 日韩免费中文字幕| 国产精品视频永久免费播放| 久久久久久久久久亚洲| 国产福利成人在线| 国产精品日韩专区| 国产成人精品免费久久久久| 亚洲一区亚洲二区| 亚洲精品久久久久久久久| 一区国产精品视频| 久久精品国产69国产精品亚洲| 最新国产成人av网站网址麻豆| 欧美猛少妇色xxxxx| 精品国产乱码久久久久久虫虫漫画| 日韩在线观看精品| 中文综合在线观看| 日韩在线观看高清| 色爱av美腿丝袜综合粉嫩av| 亚洲码在线观看| 日韩电影免费观看在线观看| 亚洲成人网av| 日本最新高清不卡中文字幕| 91精品国产91久久久久久吃药| 51午夜精品视频| 欧美激情一级欧美精品| 色综合天天狠天天透天天伊人| 欧美午夜片在线免费观看| 亚洲国模精品一区| 欧美影院成年免费版| 国产午夜精品视频免费不卡69堂| 亚洲国产三级网| 亚洲精品国产美女| 久久久久久一区二区三区| 国产精品91视频| 亚洲bt天天射| 久久av在线看| 91大神福利视频在线| 在线精品国产欧美| 国产精品777| 色诱女教师一区二区三区| 日韩av在线免费| 欧美激情a∨在线视频播放| 国产欧美一区二区三区在线看| 狠狠色狠狠色综合日日小说| 国产91露脸中文字幕在线| 国内成人精品一区| 亚洲色图美腿丝袜| 久久精品青青大伊人av| 日韩在线观看网站| 国产经典一区二区| 日韩精品在线观看网站| 久久久久久久国产| 色无极亚洲影院| 成人乱人伦精品视频在线观看| 中文字幕欧美专区| 91在线色戒在线| 日韩在线观看电影| 中文字幕日韩精品在线观看| 亚洲色图欧美制服丝袜另类第一页| …久久精品99久久香蕉国产| 国产精品第100页| 日本高清视频一区| 亚洲尤物视频网| 不卡毛片在线看| 国产精品一区=区| 日本成熟性欧美| 综合网日日天干夜夜久久| 国产日韩欧美在线视频观看| 98精品国产高清在线xxxx天堂| 色综合久久久久久中文网| 久久久久成人精品| 国产婷婷色综合av蜜臀av| 91精品国产综合久久久久久久久| 国产精彩精品视频| 成人有码视频在线播放| 亚洲成人免费网站| 欧美日韩色婷婷| 久久精品国产一区二区电影| 国产一区红桃视频| 亚洲图片在区色| 自拍偷拍亚洲精品| 国产精品日本精品| 色www亚洲国产张柏芝| 国产在线精品一区免费香蕉| 欧美日韩一区二区三区| 久久亚洲国产精品| 美日韩精品视频免费看| 精品中文字幕视频| 久久久久久综合网天天| 96精品视频在线| 久久精品99久久香蕉国产色戒| 狠狠干狠狠久久| 国产精品一区二区性色av| 91精品久久久久久综合乱菊| 日韩av电影在线免费播放| 日韩在线免费高清视频| 日韩一级裸体免费视频| 日韩亚洲欧美中文在线| 中文字幕日韩精品有码视频| 亚洲欧美日韩国产精品| 少妇高潮 亚洲精品| 欧美在线视频免费播放| 久久99视频免费| 97av在线视频免费播放| 精品动漫一区二区三区| 亚洲va久久久噜噜噜| 国产成人精品一区二区| 日韩不卡中文字幕| 精品高清美女精品国产区| 美女国内精品自产拍在线播放| 中文字幕亚洲一区二区三区五十路| 一本大道久久加勒比香蕉| 国产一区av在线| 国产精品偷伦一区二区| 国产成人在线播放| 久久精品2019中文字幕| 国产中文字幕日韩| 亚洲精品99久久久久中文字幕| 久久精品国产亚洲精品2020| 日本aⅴ大伊香蕉精品视频| 91亚洲精品一区二区| 91在线视频九色| 欧美成人亚洲成人日韩成人| 97人洗澡人人免费公开视频碰碰碰| 久久6免费高清热精品| 91精品国产91久久久久| 日韩免费观看av| 国产亚洲在线播放|