vb.net+SQL Server读写图片

96 阅读1分钟
 ''' <summary>
    ''' 向数据库写入image类型数据
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim conStr As String = "Data Source=192.168.56.102\shxh;Initial Catalog=piaoju;Persist Security Info=True;User ID=sa;Password=..."
        If Me.OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim filePath As String = Me.OpenFileDialog1.FileName
            Dim fs As New System.IO.FileStream(filePath, IO.FileMode.Open, IO.FileAccess.Read)
            Dim byte2(fs.Length) As Byte
            fs.Read(byte2, 0, Convert.ToInt32(fs.Length))
            fs.Close()

            Using conn As New SqlClient.SqlConnection(conStr)
                conn.Open()
                Dim cmd As New SqlClient.SqlCommand("insert into image(id,sign) values(2,@sign)")
                Dim sqlParm As New SqlClient.SqlParameter("@sign", SqlDbType.Image)
                sqlParm.Value = byte2
                cmd.Connection = conn
                cmd.Parameters.Add(sqlParm)
                Dim t As Integer = cmd.ExecuteNonQuery()
                MsgBox(t)
                conn.Close()
            End Using
        End If
    End Sub

    ''' <summary>
    ''' 从数据库读取image类型数据
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim conStr As String = "Data Source=192.168.56.102\shxh;Initial Catalog=piaoju;Persist Security Info=True;User ID=sa;Password=..."
        Using conn As New SqlClient.SqlConnection(conStr)
            Dim signData(0) As Byte
            conn.Open()
            Dim cmd As New SqlClient.SqlCommand("select * from image where id=2")
            cmd.Connection = conn
            Dim sdr As SqlClient.SqlDataReader = cmd.ExecuteReader
            sdr.Read()
            signData = sdr("sign")
            Dim mStream As New IO.MemoryStream(signData)
            Dim sign As System.Drawing.Image = System.Drawing.Image.FromStream(mStream)
            Me.PictureBox1.Image = sign

            mStream.Close()
            conn.Close()
        End Using
    End Sub

\