Buenas a todos, y gracias por adelantado.
Tras mucho leer y buscar, no he puedo solucionar mi problema con este código que estoy desarrollando.
En primer lugar utilizo este código para guardar la imagen en mi sql server 2008:
1) Para seleccionar la imagen:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' OpenFileDialog1.ShowDialog()
OpenFileDialog1.Filter = "formato 1|*.jpg|formato 2|*.bmp|formato 3|*.ico"
OpenFileDialog1.ShowDialog()
PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
2) Para insertarlo:
Dim connection As New SqlClient.SqlConnection(FIDENTIFICACION.CADENADECO NEXION)
Dim ms As New MemoryStream
PictureBox1.Image.Save(MS, PictureBox1.Image.RawFormat)
arrImage = MS.GetBuffer
Dim query As String = "INSERT INTO MATERIAL ("
If (TNOMBREMAT.Text <> "") Then
query = query + "NOMBREMATERIAL"
End If
If (TREFERENCIA.Text <> "") Then
query = query + ", REFERENCIA"
End If
If (TCODFAMILIA.Text <> "") Then
query = query + ", CODMATERIALFAMILIA"
End If
If (TCODSUBFAMILIA.Text <> "") Then
query = query + ", CODMATERIALSUBFAMILIA"
End If
If (TCODMARCA.Text <> "") Then
query = query + ", CODMARCAMATERIAL"
End If
If (TSTOCK.Text <> "") Then
query = query + ", STOCK"
End If
query = query + ", IMAGEN"
query = query + ") VALUES ('" + TNOMBREMAT.Text + "'"
If (TREFERENCIA.Text <> "") Then
query = query + ", '" + TREFERENCIA.Text + "'"
End If
If (TCODFAMILIA.Text <> "") Then
query = query + ", '" + TCODFAMILIA.Text + "'"
End If
If (TCODSUBFAMILIA.Text <> "") Then
query = query + ", '" + TCODSUBFAMILIA.Text + "'"
End If
If (TCODMARCA.Text <> "") Then
query = query + ", '" + TCODMARCA.Text + "'"
End If
If (TSTOCK.Text <> "") Then
query = query + ", '" + TSTOCK.Text + "'"
End If
query = query + ",' arrImage' "
query = query + ")"
Try
connection.Open()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Dim myCommand As New SqlClient.SqlCommand(query, connection)
myCommand.ExecuteNonQuery()
' Dim myReader As SqlClient.SqlDataReader = myCommand.ExecuteReader()
MessageBox.Show("EL MATERIAL HA SIDO DADO DE ALTA")
connection.Close()
3)Para recuperar la imagen en mi picturebox ( que no me sale ):
Dim connection As New SqlClient.SqlConnection(FIDENTIFICACION.CADENADECO NEXION)
Try
connection.Open()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Dim query1 As String = "SELECT IMAGEN FROM MATERIAL WHERE CODMATERIAL='" + CStr(DataGridView1.CurrentRow.Cells(0).Value) + "'"
Dim COMMAND1 As New SqlClient.SqlCommand(query1, connection)
Dim READER1 As SqlClient.SqlDataReader = COMMAND1.ExecuteReader
Dim ms As New MemoryStream
While READER1.Read
PictureBox1.Image = READER1("IMAGEN")
End While
connection.Close()
End Sub
Gracias y espero que me puedan ayudar a recuperar la imagen en mi picturebox. |