Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: irvincnt93 en 27 Enero 2015, 08:11 am



Título: mostrar imagen con ruta en un picturebox [sql server y c#]
Publicado por: irvincnt93 en 27 Enero 2015, 08:11 am
gente bonita necesito de su ayuda...

en aplicación que estoy creando necesito mostrar una imagen que tengo almacenada en una base de datos (la pura ruta), la pude agregarla a la base de datos pero no se o no encuentro como mostrarla en en un picture box. ayuda porfa

mi base de datos se llama imagen y la tabla donde estoy guardando la dirección se llama direcció. ayuda por favor, dejo el código de inserción de la imagen por si les ayuda en algo
Código
  1.  comandos.Connection = conexion;
  2.                        comandos.CommandText = "INSERT INTO actas (nombre,profesor,materia,direccion) VALUES (@nomImg, @profe, @mater, @path)";
  3.  
  4.                        conexion.Open();
  5.                        comandos.Parameters.Clear();
  6.  
  7.                        comandos.Parameters.AddWithValue("nomImg", NombreImg);
  8.                        comandos.Parameters.AddWithValue("profe", textBox1.Text);
  9.                        comandos.Parameters.AddWithValue("mater", textBox2.Text);
  10.                        comandos.Parameters.AddWithValue("path", Ubicacion);
  11.  
  12.                        int NFilas = comandos.ExecuteNonQuery();
  13.  
  14.                        if (NFilas > 0)
  15.                        {
  16.                            MessageBox.Show("Datos almacenados exitosamento");
  17.                        }
  18.                    }
  19.                    catch (SqlException ex)
  20.                    {
  21.                        MessageBox.Show("fallo al generar la consulta: " + ex);
  22.                    }
  23.                    conexion.Close();
  24.                    comandos.Dispose();
  25.  
  26.  

Mod: Sub-foro incorrecto, tema movido. Evita el uso de mayúsculas, tema modificado. Coloqué el codigo en etiquetas GeSHi para que fuera más legible


Título: Re: mostrar imagen con ruta en un picturebox [sql server y c#]
Publicado por: El Benjo en 27 Enero 2015, 22:21 pm
Se me ocurren dos formas para hacerlo:

Código
  1. Picturebox1.Image = new Bitmap("Nombre yuta del archivo");

Código
  1. FileStream Flujo = new FileStream("Nombre y ruta del archivo", FileMode.Open);
  2. byte[] Buffer = new byte[Flujo.Length];
  3. Flujo.Read(Buffer, 0, (int)Flujo.Length);
  4. Picturebox1.Image = new Bitmap(Flujo);
  5. Flujo.Close();

Te recomiendo que utilices la segunda forma, ya que si por alguna razón tuvieras que abrir la imagen para trabajar con ella, no podrías hacerlo con el primer método, pues te bloquea el acceso al archivo.

Espero te sirva cualquiera de los dos códigos.


Título: Re: mostrar imagen con ruta en un picturebox [sql server y c#]
Publicado por: irvincnt93 en 29 Enero 2015, 03:05 am
gracias por la ayuda colega, pude solucionarlo de esta forma, se que me faltan algunas cosas, pero bueno, lo mas interesante ya está, seguiré perfencionando esto. Dejo por aquí mi código por si alguien lo llegue a necesitar

Código
  1. private void btnMostrar_Click(object sender, EventArgs e)
  2.        {
  3.  
  4.            comandos.Connection = conexion;
  5.            conexion.Open();
  6.            dt = ds.Tables.Add();
  7.            comandos.CommandText = "SELECT materia,direccion FROM actas WHERE profesor= @prof ";
  8.            comandos.Parameters.AddWithValue("@prof", textBox4.Text);
  9.  
  10.            try
  11.            {
  12.                SqlDataReader dr = comandos.ExecuteReader();
  13.  
  14.                if(dr.Read()){
  15.  
  16.                    textBox3.Text = dr["materia"].ToString();
  17.                    string ruta = dr["direccion"].ToString();
  18.                    pictureBox2.Image = Image.FromFile(ruta);
  19.  
  20.  
  21.                }
  22.  
  23.            }
  24.            catch(Exception ex)
  25.            {
  26.                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
  27.            }
  28.  
  29.  
  30.  
  31.  
  32.        }
  33.