none
Actualizar datos, conteniendo una imagen a sql desde VB.NET

    Pregunta

  • Hola quiero realizar un UPDATE segun yo deberia funcionar pero no lo hace lo he visto y creo estoy mal en la sentencia update, vb solo me dice que estoy mal en la sintaxis, alguien podria ayudarme  en la sentencia? de antemano muchas gracias, anexo el codigo

     Dim conexion As New SqlConnection("Data Source=XXX-PC\SQLEXPRESS;Initial Catalog=checadorempleados;Integrated Security=True")
            conexion.Open()
            Dim ms As New MemoryStream
            PictureBox1.Image.Save(ms, ImageFormat.Jpeg)
            Dim b As Byte() = ms.ToArray()
            Dim Query As String = "UPDATE Empleados set (Codigoempleado,Nombre,Foto,Areaempleado,Numerotelefonico,Numeroseguro,Direccion)VALUES(@Codigoempleado,@Nombre,@Foto,@areaempleado,@Numerotelefonico,@Numeroseguro,@Direccion) where Codigoempleado = textbox1.text "
            Dim comando As New SqlCommand(Query, conexion)
            comando.Parameters.AddWithValue("@Codigoempleado", TextBox1.Text)
            comando.Parameters.AddWithValue("@Nombre", TextBox2.Text.ToString)
            comando.Parameters.AddWithValue("@Foto", b)
            comando.Parameters.AddWithValue("@Areaempleado", ComboBox1.Text.ToString)
            comando.Parameters.AddWithValue("@Numerotelefonico", TextBox3.Text)
            comando.Parameters.AddWithValue("@Numeroseguro", TextBox4.Text)
            comando.Parameters.AddWithValue("@Direccion", TextBox5.Text.ToString)
            Dim command As New SqlCommand(Query, conexion)
            command.Parameters.Add("@Foto", SqlDbType.Image).Value = b
            comando.ExecuteNonQuery()
            conexion.Close()



    YOO

    martes, 21 de febrero de 2017 3:01

Respuestas

  • Hola podrías probar asi

          Dim Query As String = "UPDATE Empleados set 
    	        Codigoempleado=@Codigoempleado,
    		Nombre=@Nombre,
    		Foto=@Foto,
    		Areaempleado=@areaempleado,
    		Numerotelefonico=@Numerotelefonico,
    		Numeroseguro=@Numeroseguro,
    		Direccion=@Direccion where Codigoempleado=@Codigoempleado"
            Dim comando As New SqlCommand(Query, conexion)
            comando.Parameters.AddWithValue("@Codigoempleado",Convert.ToString(TextBox1.Text))
            comando.Parameters.AddWithValue("@Nombre", Convert.ToString(TextBox2.Text))
            comando.Parameters.AddWithValue("@Foto", b)
            comando.Parameters.AddWithValue("@Areaempleado", ComboBox1.SelectedValue)
            comando.Parameters.AddWithValue("@Numerotelefonico", Convert.ToString(TextBox3.Text))
            comando.Parameters.AddWithValue("@Numeroseguro", Convert.ToString(TextBox4.Text))
            comando.Parameters.AddWithValue("@Direccion", Convert.ToString(TextBox5.Text))
            comando.ExecuteNonQuery()
            conexion.Close()

    Nota que he reformulado la query del update, he parametrizado el @Codigoempleado,y estoy utilizando el value del combobox,no la propiedad text


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    • Propuesto como respuesta Joyce_ACModerator martes, 21 de febrero de 2017 15:33
    • Marcado como respuesta eduardohpz martes, 21 de febrero de 2017 18:19
    • Editado Augusto1982 martes, 21 de febrero de 2017 19:36
    martes, 21 de febrero de 2017 3:48

Todas las respuestas

  • Hola podrías probar asi

          Dim Query As String = "UPDATE Empleados set 
    	        Codigoempleado=@Codigoempleado,
    		Nombre=@Nombre,
    		Foto=@Foto,
    		Areaempleado=@areaempleado,
    		Numerotelefonico=@Numerotelefonico,
    		Numeroseguro=@Numeroseguro,
    		Direccion=@Direccion where Codigoempleado=@Codigoempleado"
            Dim comando As New SqlCommand(Query, conexion)
            comando.Parameters.AddWithValue("@Codigoempleado",Convert.ToString(TextBox1.Text))
            comando.Parameters.AddWithValue("@Nombre", Convert.ToString(TextBox2.Text))
            comando.Parameters.AddWithValue("@Foto", b)
            comando.Parameters.AddWithValue("@Areaempleado", ComboBox1.SelectedValue)
            comando.Parameters.AddWithValue("@Numerotelefonico", Convert.ToString(TextBox3.Text))
            comando.Parameters.AddWithValue("@Numeroseguro", Convert.ToString(TextBox4.Text))
            comando.Parameters.AddWithValue("@Direccion", Convert.ToString(TextBox5.Text))
            comando.ExecuteNonQuery()
            conexion.Close()

    Nota que he reformulado la query del update, he parametrizado el @Codigoempleado,y estoy utilizando el value del combobox,no la propiedad text


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    • Propuesto como respuesta Joyce_ACModerator martes, 21 de febrero de 2017 15:33
    • Marcado como respuesta eduardohpz martes, 21 de febrero de 2017 18:19
    • Editado Augusto1982 martes, 21 de febrero de 2017 19:36
    martes, 21 de febrero de 2017 3:48
  • Efectivamente amigo, gracias por apoyarme, estaba bien tu solucion simplemente borre la linea

    command.Parameters.AddWithValue("@Foto", b)

    ya que la repetias pero deahi en fuera todo funciono al 100%


    YOO

    martes, 21 de febrero de 2017 18:21