Author Topic: NECESITO AYUDA URGENTEEEEEE  (Read 3773 times)

0 Members and 1 Guest are viewing this topic.

Rick.Hunter.007

  • Guest
NECESITO AYUDA URGENTEEEEEE
« on: November 22, 2007, 10:26:25 am »
Hola... (Por favor le pido a los admins, mods que no me muevan en 2 dias este post, es que necesito que tenga un poquito de vistocidad....)

Hola!!!... Ey, ¿Alguien sabe como anexar a una base de datos una imagen?... es que estoy haciendo el mantenimiento de una tablita de productos, con el .net y SQL server., pero me estan exigiendo que le puedan poner una 1 foto a cada producto... y de verdad no tengo la menor idea de como hacerlo, ayuda pleaseeeee.... o si pueden con MySql.... me imagino que lo más o menos lo mismo se hace no?.... ayudaaaaaaaaaaaa



sicario

  • Guest
Re: NECESITO AYUDA URGENTEEEEEE
« Reply #1 on: November 22, 2007, 10:31:40 am »
Hey Rick leete lo que me recomendario aqui... sobre todo lo que me dijo el joven administrador...

http://www.svcommunity.org/forum/index.php?topic=30562.0

Yo tuve ese problema en ORACLE y en POSTGRE ... pero gracias a esas ideas... logre mi cometido... leete eso... cualquier cosa avisas.. pa ver que ondas.

Rick.Hunter.007

  • Guest
Re: NECESITO AYUDA URGENTEEEEEE
« Reply #2 on: November 22, 2007, 10:42:39 am »
Ah interesante... lo que pasa es que el registro de tipo image, segun la msdn es de tipo byte.... o algo asi.... ¿supongo entonces que tengo que mandarle una cadena de bytes en la consulta?... segun el enlace que me diste, asi se hace... ¿Cierto? mmmm  :shockd:

sicario

  • Guest
Re: NECESITO AYUDA URGENTEEEEEE
« Reply #3 on: November 22, 2007, 10:45:37 am »
el ejemplo que puso tecun... es para vos si lo estas utilizando en SQL SERVER

Offline Mad Max™

  • Administrator
  • The Communiter-
  • *
  • Posts: 7913
  • The Road Warrior
Re: NECESITO AYUDA URGENTEEEEEE
« Reply #4 on: November 22, 2007, 10:45:48 am »
lo siento, pero reglas son reglas y tenemos todos que cumplirlas

la misma "vistosidad" vas a tener en el respectivo foro...

Offline Jonhyrey

  • Sv Full Member
  • *
  • Posts: 558
Re: NECESITO AYUDA URGENTEEEEEE
« Reply #5 on: November 22, 2007, 01:26:14 pm »
Ya te salió lo de las imagenes???, tengo unos ejemplos que te pueden ser útililes. Contestame en el foro y por aqui los posteo



Offline Snipe

  • -^- Elite Gold -^-
  • The Communiter-
  • **
  • Posts: 4366
Re: NECESITO AYUDA URGENTEEEEEE
« Reply #6 on: November 22, 2007, 01:55:44 pm »
También tenés que cambiarle el nombre del tema a uno más descriptivo.

Rick.Hunter.007

  • Guest
Re: NECESITO AYUDA URGENTEEEEEE
« Reply #7 on: November 27, 2007, 12:37:14 pm »
Ey, ya le halle amigos, muchas gracias por sus ayudas. Jejejeje  :sur:

Miren, asi me quedo:

Code: [Select]
                        Comun1.Conexion.ParaClear();
                Comun1.Conexion.ParaAdd("@Nombres", DbType.String, txtNombres.Text);
                Comun1.Conexion.ParaAdd("@Apellidos", DbType.String, txtApellidos.Text);
                Comun1.Conexion.ParaAdd("@Direccion", DbType.String, txtDireccion.Text);
                Comun1.Conexion.ParaAdd("@Telefonos", DbType.String, txtTelefonos.Text);
                Comun1.Conexion.ParaAdd("@Dui", DbType.String, txtDui.Text);
                Comun1.Conexion.ParaAdd("@Email", DbType.String, txtEmail.Text);
                Comun1.Conexion.ParaAdd("@Isss", DbType.String, txtIsss.Text);
                Comun1.Conexion.ParaAdd("@Cargo", DbType.String, cbCargo.Text);
                Comun1.Conexion.ParaAdd("@Clave", DbType.String, txtClave.Text);
                //Insertar la imagen a la BD:
                String DirTemp = Application.StartupPath + "\\";
                Bitmap BitmapTemp = new Bitmap(PicFoto.BackgroundImage);
                BitmapTemp.SetResolution(320, 240);               
                BitmapTemp.Save(DirTemp + "FotoTemp.png", System.Drawing.Imaging.ImageFormat.Png);
                System.IO.FileStream StreamTemp = new System.IO.FileStream(DirTemp + "FotoTemp.png", System.IO.FileMode.Open, System.IO.FileAccess.Read);
                System.IO.BinaryReader BinaryReaderTemp = new System.IO.BinaryReader(StreamTemp);
                byte[] FotoSQL = BinaryReaderTemp.ReadBytes((int)(StreamTemp.Length));
                BinaryReaderTemp.Close();
                StreamTemp.Close();
                Comun1.Conexion.ParaAdd("@Foto", DbType.Binary, FotoSQL);
                if (Comun1.Conexion.InsertCmd("INSERT INTO Empleado(Nombres, Apellidos, Direccion, Telefonos, DuiEmpleado, Email, Isss, Cargo, Clave, Foto) VALUES(@Nombres, @Apellidos, @Direccion, @Telefonos, @Dui, @Email, @Isss, @Cargo, @Clave, @Foto)") == 1)
                {                   
                    Comun1.Informacion("La información ha sido anexada.");
                    Identificador = txtDui.Text;
                    RellenarAutoComplementacion();
                    txtNombres.Focus();
                }
                else
                {
                    Comun1.Errores("La información no ha podido ser anexada.");
                }


Estaba facil la verdad... ahora el problema que tengo es que no puedo modificar la foto.... a la función de modificar (UPDATE) le he puesto temporalmente que que primero: Elimine (DELETE) y que despues Agrege (INSERT INTO)....

¿Me darian una manito en esta otra?.... miren como lo tengo:........ bien ineficiente, esta Core 2 Duro si me funciona chivo... pero ya en las que lo voy a instalar, creo que no....

Code: [Select]
private void btnModificar_Click(object sender, EventArgs e)
        {
            if (!Validar())
                return;
            //Borrar primero...
            if (Comun1.Conexion.UpdateCmd("delete from empleado where DuiEmpleado='" + Identificador + "'") == 1)
            {
                //Ahora insertar a BD:
                if (Comun1.Conexion.SelectCmd("select DuiEmpleado from Empleado where DuiEmpleado='" + txtDui.Text + "'"))
                {
                    Comun1.Conexion.DrClose();
                    Comun1.Errores("Error al modificar. El número de DUI ya existe y no se puede repetir.");
                    return;
                }
                else
                {
                    Comun1.Conexion.ParaClear();
                    Comun1.Conexion.ParaAdd("@Nombres", DbType.String, txtNombres.Text);
                    Comun1.Conexion.ParaAdd("@Apellidos", DbType.String, txtApellidos.Text);
                    Comun1.Conexion.ParaAdd("@Direccion", DbType.String, txtDireccion.Text);
                    Comun1.Conexion.ParaAdd("@Telefonos", DbType.String, txtTelefonos.Text);
                    Comun1.Conexion.ParaAdd("@Dui", DbType.String, txtDui.Text);
                    Comun1.Conexion.ParaAdd("@Email", DbType.String, txtEmail.Text);
                    Comun1.Conexion.ParaAdd("@Isss", DbType.String, txtIsss.Text);
                    Comun1.Conexion.ParaAdd("@Cargo", DbType.String, cbCargo.Text);
                    Comun1.Conexion.ParaAdd("@Clave", DbType.String, txtClave.Text);
                    //Insertar la imagen a la BD:
                    String DirTemp = Application.StartupPath + "\\";
                    Bitmap BitmapTemp = new Bitmap(PicFoto.BackgroundImage);
                    BitmapTemp.SetResolution(320, 240);
                    BitmapTemp.Save(DirTemp + "FotoTemp.png", System.Drawing.Imaging.ImageFormat.Png);
                    System.IO.FileStream StreamTemp = new System.IO.FileStream(DirTemp + "FotoTemp.png", System.IO.FileMode.Open, System.IO.FileAccess.Read);
                    System.IO.BinaryReader BinaryReaderTemp = new System.IO.BinaryReader(StreamTemp);
                    byte[] FotoSQL = BinaryReaderTemp.ReadBytes((int)(StreamTemp.Length));
                    BinaryReaderTemp.Close();
                    StreamTemp.Close();
                    Comun1.Conexion.ParaAdd("@Foto", DbType.Binary, FotoSQL);
                    if (Comun1.Conexion.InsertCmd("INSERT INTO Empleado(Nombres, Apellidos, Direccion, Telefonos, DuiEmpleado, Email, Isss, Cargo, Clave, Foto) VALUES(@Nombres, @Apellidos, @Direccion, @Telefonos, @Dui, @Email, @Isss, @Cargo, @Clave, @Foto)") == 1)
                    {
                        Comun1.Informacion("La información ha sido modificada.");
                        Identificador = txtDui.Text;
                        RellenarAutoComplementacion();
                        txtNombres.Focus();
                    }
                    else
                    {
                        Comun1.Errores("La información no ha podido ser modificada.");
                    }
                }
            }           
        }   


[/color]