none
incorrect syntax near 0 in update RRS feed

  • Pregunta

  • Al dar click al botton me da error "incorrect syntax near 0"

    string notaTicket = this.txtResolucion.Text; string masterCargado = this.txtMasterCargado.Text; string series = this.txtSeriesRes.Text; DateTime fechaResolucion = Convert.ToDateTime(this.txtFechaResolucion.Text); SqlConnection consString = new SqlConnection(ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString); SqlCommand cmd = new SqlCommand(); cmd.CommandText = "UPDATE tblTicket SET idEstado = 'RES', idMotivoEstado = 'TEC', notaTicket = '" + notaTicket +"',masterCargado = '" + masterCargado + "', fechaResolucion = " + fechaResolucion + " WHERE idEstado = 'ENC' AND serieSap IN (" + series + ")"; cmd.Connection = consString; consString.Open(); cmd.ExecuteNonQuery(); cmd.Clone();



    lunes, 13 de marzo de 2017 20:31

Respuestas

  • hola

    no tienes que concatener los valores en el string, debes usar parametros

    using (SqlConnection conn = new SqlConnection("<connection string>"))   
    {   
        conn.Open();   
     
        string query = "UPDATE NombreTabla  SET campo1=@param1, campo2 = @param2 WHERE id = @paramid";   
        SqlCommand cmd = new SqlCommand(query, conn);   
     
     
        cmd.Parameters.AddWithValue("@param1", TextBox1.Text);   
        cmd.Parameters.AddWithValue("@param2", Convert.ToInt32(Textbox2.Text));  
        cmd.Parameters.AddWithValue("@paramid", Convert.ToInt32(Textbox3.Text));  
     
        cmd.ExecuteNonQuery();   
     
    }

    el unico valor que no vas a poder asignar por parametro es el IN salvo que uses un Table-Valued

    Table-Valued Parameters

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 13 de marzo de 2017 20:40

Todas las respuestas

  • hola

    no tienes que concatener los valores en el string, debes usar parametros

    using (SqlConnection conn = new SqlConnection("<connection string>"))   
    {   
        conn.Open();   
     
        string query = "UPDATE NombreTabla  SET campo1=@param1, campo2 = @param2 WHERE id = @paramid";   
        SqlCommand cmd = new SqlCommand(query, conn);   
     
     
        cmd.Parameters.AddWithValue("@param1", TextBox1.Text);   
        cmd.Parameters.AddWithValue("@param2", Convert.ToInt32(Textbox2.Text));  
        cmd.Parameters.AddWithValue("@paramid", Convert.ToInt32(Textbox3.Text));  
     
        cmd.ExecuteNonQuery();   
     
    }

    el unico valor que no vas a poder asignar por parametro es el IN salvo que uses un Table-Valued

    Table-Valued Parameters

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 13 de marzo de 2017 20:40
  • Solucionado... Gracias.
    lunes, 13 de marzo de 2017 21:08
  • Hola Claudio Marin,

    Gracias por visitar los foros, según observo en tu entrada anterior comentas que has podido resolver tu problema, comentarte que sería de gran ayuda para futuros usuarios que visiten los foros el que pudieras marcar como respuesta, aquella que te haya sido de utilidad, o bien que pudieras compartirnos la forma en la cual resolviste el mismo.

    Saludos
    Joyce

    __________________________________________________________________________________________
    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, hace que sea más fácil para los otros visitantes encontrar la solución  más tarde. Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal  cual" y no implica ninguna responsabilidad de parte de Microsoft.

    miércoles, 15 de marzo de 2017 17:18
    Moderador