<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      Vb.net向sql server數據庫中保存圖片(一)

      [摘要]預備知識:STREAM、ADO.NET 微軟的SQL SERVER數據庫的Image、text等字段都屬于二進制的大對象。這些對象的存取和其他輕型對象略有不同。比如,我們打開一個數據表的時候,普通類...
      預備知識:STREAM、ADO.NET



      微軟的SQL SERVER數據庫的Image、text等字段都屬于二進制的大對象。這些對象的存取和其他輕型對象略有不同。比如,我們打開一個數據表的時候,普通類型的字段都可以看見,而Image類型的字段卻不行,只能通過編程的方法來讀取。這篇資料就是介紹怎樣用vb.NET來向sql server數據庫中存放圖片,怎樣從數據庫中取出圖片瀏覽。我在這里也費了老大的精力,主要是為了答復一個同學的提問。(他刨根問底式的學習方式,把我急出一身冷汗,慚愧。。。。。。)



      這個例程用到了 sql server自帶的northwind數據庫,其中employees(職員)數據表有一個字段“photo”,是用來存放照片的,里面有9條記錄,我費了半天力氣,想去看看那9個人圖片,就是看不見。現在猜測,這些人的photo根本就是空的。所以,我決定添加一些新的記錄。



      在這個例程里,我實現了一個簡單的WinForm程序,這個程序通過點擊“Open”按鈕選擇一個圖片文件(bmp或jpg),并顯示在圖形控件PictureBox中。通過“Save”按鈕存入數據庫。點擊“View”CheckBox可以切換到瀏覽狀態,觀看存入數據庫的圖片。


        微軟.NET Framework的System.IO命名空間下給我們提供了一個FileStream文件流類。我們可以使用這個文件流對二進制大對象輕松進行讀寫。由于對二進制大對象使用的流操作,所以對于任何文件都具有通用性。讀寫文本文件也可以這么做。

      步驟:

      1、 先來看一下northwind數據庫中employees表結構


      2、 知道.net連接sql server的方法嘛,不知道的話,看看我寫的“ado.net中的connection對象”吧。讀懂下面這幾句沒問題吧:

      Dim conn as new sqlconnection(“server=localhost;database=northwind;Integrated Security=true;”

      Dim sqlcomm As New SqlCommand

      sqlcomm.Connection = conn

      sqlcomm.CommandText = "INSERT INTO employees (lastname,firstname,photo) VALUES (@lastname,@firstname,@photo)"

      Dim prm1 As New SqlParameter("@lastname", txtLN.Text)

      Dim prm2 As New SqlParameter("@firstname", txtFN.Text)

      Dim prm3 As New SqlParameter("@photo", SqlDbType.VarBinary, Int(fs.Length), _ ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Current, Data)

      sqlcomm.Parameters.Add(prm1)

      sqlcomm.Parameters.Add(prm2)

      sqlcomm.Parameters.Add(prm3)




      3、新建一個windows應用程序窗體,界面如下:(圖1)


      日韩精品一区二区三区高清