Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/06/2009, 09:12
Avatar de jaullo
jaullo
 
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años, 7 meses
Puntos: 30
Respuesta: Imagenes en sql + vb 2005

tengo un openfiledialog, un picturebox y un label donde pongo la ruta
Para seleccionar la imagen tengo lo siguiente
Me.dlgFile = New OpenFileDialog
dlgFile.Filter = "Imágenes JPG (*.jpg)|*.jpg|Mapas de bits (*.bmp)|*.bmp|Tiff (*.Tiff)|*.Tiff|Png (*.png)|*.png"
dlgFile.Title = "Abre una imagen JPG o BMP"
If dlgFile.ShowDialog() = Windows.Forms.DialogResult.OK Then
NOMBREIMG1 = dlgFile.FileName
Me.pbximage.Image = Image.FromFile(NOMBREIMG1)
Me.pbximage.SizeMode = PictureBoxSizeMode.AutoSize

Me.lblpath.Text = NOMBREIMG1
End If


Para guardar la imagen tengo lo siguiente
Dim conexion As New SqlClient.SqlConnection("Integrated Security=SSPI;Persist Security Info=false;Initial Catalog=mybd;Data Source=(local)")
Dim sql1 As String = "SELECT * FROM producto"
Dim da As New SqlClient.SqlDataAdapter(sql1, conexion)
Dim cb As New SqlCommandBuilder(da)
Dim ds As New DataSet
da.Fill(ds, "producto")
Dim filas As Integer = ds.Tables("producto").Rows.Count

Dim IMAGENNAME1 As String = "Imagen1" & filas & ".JPG"


If lblpath.Text <> Nothing Then
IMAGENNAME1 = "Imagen1" & filas & ".JPG"
pbximage.Image.Save(Application.StartupPath & "Imagenes" & IMAGENNAME1)
lblpath.Text = Application.StartupPath & "Imagenes\" & IMAGENNAME1
Else
Me.pbximage.Image = Nothing
End If

Dim cmd As SqlClient.SqlCommand = conexion.CreateCommand
Dim SQL As String = ""
Dim cmdS As New SqlClient.SqlCommand("select fotonombre from producto where fotonombre='" & Me.txtnombre.Text & "'", conexion)
conexion.Open()
Dim res As String
res = cmdS.ExecuteScalar()
conexion.Close()
If res = Me.txtnombre.Text Or Me.txtnombre.Text = "" Then
MsgBox("El codigo de orden se encuentra Registrado", MsgBoxStyle.Critical, "Error")

Else
objaux.procesar("INSERT INTO producto (fotonombre,fotoruta)VALUES ('" & txtnombre.Text & "','" & IMAGENNAME1 & "')")

Esto lo que me hace es en fotoruta gurdarme el nombre de la foto x ejemplo: perro.jpeg ó el formato que tenga.

Ahora, se supone que en esta linea es donde le digo que me lo guarde en la carpeta pero si coloco el slash despues de Imagenes me da error.
pbximage.Image.Save(Application.StartupPath & "Imagenes\" & IMAGENNAME1)

Si lo uso asi
pbximage.Image.Save(Application.StartupPath & "Imagenes" & IMAGENNAME1)
me funciona pero no me guarda la imagen en la carpeta.

La verdad no se que es, y en caso de que me sirviera no c como hacer para mostrar la imagen

Agradezco tu ayuda.