经过5-6小时的搜索论坛和博客以及我喜欢的一切…将图像保存到数据库
1-数据类型应该是数据库中的图像
现在在将图像存储到sql数据库时添加此代码
OpenFileDialog1.ShowDialog()
imageFilename = OpenFileDialog1.FileName
Dim imageUpload As Image
imageUpload = Image.FromFile(OpenFileDialog1.FileName)
If imageFilename <> "" Then
Dim imageNameTemp As String
imageNameTemp = imageFilename
While (imageNameTemp.Contains("\"))
imageNameTemp = imageNameTemp.Remove(0,imageNameTemp.IndexOf("\") + 1)
End While
Dim ms As New IO.MemoryStream
If imageFilename.Contains("jpeg") Or imageFilename.Contains("jpg") Then
imageUpload.Save(ms,System.Drawing.Imaging.ImageFormat.Bmp)
End If
'Dim cmd As New sqlCommand("INSERT INTO projectimages (imagename,imagedate,csvprojectref) VALUES ('" + imageFilename + "',@BLOBData,con)
Dim b() As Byte = ms.ToArray()
Dim cmd As New sqlCommand("INSERT INTO projectimages (imagename,csvprojectref) VALUES ('" + imageNameTemp + "',con)
cmd.Parameters.Add("@BLOBData",sqlDbType.Image,b.Length).Value = b
' Dim cmd As New sqlCommand("insert projectimages(imagename,csvprojectref) values('imagma',con)
cmd.ExecuteNonQuery()
' cmdTemp.Parameters.Add("@photo",b.Length).Value = b
End If
并且当检索要插入图片框的数据时使用此代码…
cmd.CommandText = "select imagedate from projectimages where imagename = '" + ListBox1.Text + "' and CSVprojectref=checksum('" + textBoxFileRef.Text + "')"
cmd.Connection = con
Dim da As New sqlDataAdapter(cmd)
Dim ds As New DataSet()
da.Fill(ds,"projectimages")
Dim c As Integer = ds.Tables(0).Rows.Count
If c > 0 Then
Dim bytBLOBData() As Byte = _
ds.Tables(0).Rows(c - 1)("imagedate")
Dim stmBLOBData As New MemoryStream(bytBLOBData)
PictureBox1.Image = Image.FromStream(stmBLOBData)
End If