我需要保存一个窗体用户浏览图像&将其设置为PictureBox但在另一个按钮上,我需要将该图像保存到SQL Server。存储过程用INSERT命令(image数据类型)从桌面如何在VB.NET(Windows窗体)中将PictureBox图像保存到SQL
浏览图片,图片框代码: -
Public Sub SelectImage()
With OpenFileDialog1
'.InitialDirectory = "C:\"
.Filter = "All Files|*.*|Bitmaps|*.bmp|GIFs|*.gif|JPEGs|*.jpg"
.FilterIndex = 4
End With
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
PictureBox1.BorderStyle = BorderStyle.Fixed3D
End If
End Sub
保存按钮代码
Public Sub Insert_Update_Personal()
Dim UploadImage As Bitmap = PictureBox1.Image
Dim ds As DataSet = New DataSet()
Dim cmd As SqlCommand = New SqlCommand("sp_Insert_Update_Personal", con)
con.Open()
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@childrenage", TextBox10.Text)
cmd.Parameters.AddWithValue("@picture", UploadImage)
cmd.Parameters.AddWithValue("@hrcomments", TextBox5.Text)
cmd.ExecuteNonQuery()
con.Close()
cmd.Dispose()
End Sub
但是当我运行表单时,它给了我错误“没有映射存在从对象类型System.Drawing.Bitmap到已知的托管提供程序本机类型”。
你需要在将图像推入数据库之前将图像转换为字节数组。 – 2012-02-02 14:28:24
此外,从原始图像,而不是从PictureBox。 – Alexander 2013-07-02 05:54:29