none
que hay de malo en este query? RRS feed

  • Pregunta

  • saludos,

    estoy tratando de hacer un insert con una condicion pero no me permite, me gustaria saber que hay de malo en este query, y alguna solucion para repararlo? me da un error al momento de darle al boton, "incorrect syntax near where"

    este es el insert que estoy implementando:

    "insert into prueba (direccionactual,telefonoactual,celularactual ) values ('" + txtdiract.Text + "','" + txttelact.Text + "','" + txtcelact.Text + "'where Cedula like '%" + txtced.Text.Trim() + "%')";

    actuamente, uso visual studio 2017, sql server 2014 y trabajo en un proyecto c#


    joel

    miércoles, 12 de junio de 2019 17:27

Respuestas

  • hola

    El problema que tienes que es concatenas los valore sen lugar de usar parametros

    using (SqlConnection conn = new SqlConnection("<connection string>"))   
    {   
        conn.Open();   
     
        string query = @"insert into prueba (direccionactual,telefonoactual,celularactual ) 
    					values (@direccion,@telefono, @celular)";   
        SqlCommand cmd = new SqlCommand(query, conn);   
     
     
        cmd.Parameters.AddWithValue("@direccion", txtdiract.Text);   
    	cmd.Parameters.AddWithValue("@telefono", txttelact.Text); 
    	cmd.Parameters.AddWithValue("@celular", txtcelact.Text); 
    	cmd.Parameters.AddWithValue("@cedula", txtced.Text); 
    
        cmd.ExecuteNonQuery();   
    } 

    por otro lado el INSERT no tiene WHERE estas creando un registro

    El UPDATE si puede aplicar un WHERE porque debes identificar que registros afectaras

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta joel201022 miércoles, 12 de junio de 2019 18:23
    miércoles, 12 de junio de 2019 18:00

Todas las respuestas

  • Te falta un espacio entre el apóstrofe y where

    txtcelact.Text + "'   where Cedula 


    Saludos, Javier J

    miércoles, 12 de junio de 2019 17:33
  • En un insert no podes usar la clasula where(a me nos que uses un select)

    No sera que lo que quieres hacer es un update o validar si un registro existe antes de insertarlo.

    Validacion con registro existente


    Cristian Torres
    Blog Cristian Torres

    El Salvador - San Salvador

    miércoles, 12 de junio de 2019 17:50
  • hola

    El problema que tienes que es concatenas los valore sen lugar de usar parametros

    using (SqlConnection conn = new SqlConnection("<connection string>"))   
    {   
        conn.Open();   
     
        string query = @"insert into prueba (direccionactual,telefonoactual,celularactual ) 
    					values (@direccion,@telefono, @celular)";   
        SqlCommand cmd = new SqlCommand(query, conn);   
     
     
        cmd.Parameters.AddWithValue("@direccion", txtdiract.Text);   
    	cmd.Parameters.AddWithValue("@telefono", txttelact.Text); 
    	cmd.Parameters.AddWithValue("@celular", txtcelact.Text); 
    	cmd.Parameters.AddWithValue("@cedula", txtced.Text); 
    
        cmd.ExecuteNonQuery();   
    } 

    por otro lado el INSERT no tiene WHERE estas creando un registro

    El UPDATE si puede aplicar un WHERE porque debes identificar que registros afectaras

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta joel201022 miércoles, 12 de junio de 2019 18:23
    miércoles, 12 de junio de 2019 18:00