Foros del Web » Programación para mayores de 30 ;) » .NET »

Imagenes en sql + vb 2005

Estas en el tema de Imagenes en sql + vb 2005 en el foro de .NET en Foros del Web. Hola a todos, Veran, tengo una aplicacion de facturacion y quiero guardar los datos de los productos, entre estos la foto. La idea es poder ...
  #1 (permalink)  
Antiguo 27/06/2009, 16:21
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Imagenes en sql + vb 2005

Hola a todos,

Veran, tengo una aplicacion de facturacion y quiero guardar los datos de los productos, entre estos la foto.

La idea es poder guardarla y cuando realice una busqueda del producto tambien la pueda mostrar con los demas datos.

Lo unico es que no tengo la idea de como hacerlo. He visto varios ejemplos en la web pero ninguno me ha quedado claro.

Alguno tiene un ejemplo o podria ayudarme.

Saludos,
  #2 (permalink)  
Antiguo 28/06/2009, 03:58
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
Respuesta: Imagenes en sql + vb 2005

¿pero quieres guardar la imagen o la ruta? LA verdad que guardar la imagen en sí no es muy recomendable, ya que depende del volúmen de artículos con el que trabajen, te va comer el tamaño de la BD en ná.

PAra guardar sólo la ruta no tiene mayor complicación,..... pero si sigues pensando guardar la imagen entera aquí puedes ver un ejemplo:

http://www.vbforums.com/showthread.php?t=469562

SAludos
  #3 (permalink)  
Antiguo 28/06/2009, 20:43
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Respuesta: Imagenes en sql + vb 2005

Bueno si tuvieras un ejemplo de como guardar la ruta te lo agradeceria montones....
  #4 (permalink)  
Antiguo 29/06/2009, 03:39
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
Respuesta: Imagenes en sql + vb 2005

pero guardar la ruta de la imagen es guardar una cadena de texto normal.
  #5 (permalink)  
Antiguo 29/06/2009, 13:22
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Respuesta: Imagenes en sql + vb 2005

A ver... por ejemplo tengo un procedimiento que lo que hace es tomar la imagen cargarla al picturebox y supuestamente me guarda la ruta.... pero cuando me fijo en la bd lo que me aparece es el nombre de la imagen.. por ejemplo Imagen11.jpeg no se si esto me servira.
Segun entiendo deberia crear una carpeta dentro de mi proyecto que almacene las imagenes.
Desde ahi podria llamarlas y mostrarlas.

Dentro de mi procedimiento he tratado de hacerlo pero me da error, que no se porque, apenas llegue a casa subo el codigo

Ahora como hago para mostrar esas imagenes, en una busqueda por ejemplo????
  #6 (permalink)  
Antiguo 30/06/2009, 02:57
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
Respuesta: Imagenes en sql + vb 2005

Puedes guardar las imágenes dentro de una carpeta del programa, dentro de una carpeta compartida en red, etc. Según las necesidades de tu programa. Pero al guardar la ruta puedes localizarlas en varios sitios. No hay problema.

Cita:
por ejemplo tengo un procedimiento que lo que hace es tomar la imagen
pero ¿como seleccionas las imágenes?

Por ejemplo, si las seleccionas manualmente con un openFileDialog:

Código VB:
Ver original
  1. rutaImagen = OpenFileDialog1.FileName


saludos
  #7 (permalink)  
Antiguo 30/06/2009, 09:12
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.