none
El nombre de objeto 'nombre tabla'no es valido RRS feed

  • Pregunta

  • cuando voy a ejecutar la sentencia insert en c# sale el error antes mencionado: 

    aca les dejo el codigo para que revisen

    pedido_Lite = es el nombre de la tabla segun la base de datos donde are insert

      con.Open();
    
                string query = "insert into pedido_Lite(idcliente,iduser,ref_item,desc_item,cant_item,cant_total_item) values(@usu,@cliente,@referencia,@descrípcion,@cantidad,@cant_item) ";
    
    
    
    
                foreach (GridViewRow row in GridView2.Rows)
    
                {
                    if (row!= null){
                        SqlCommand cmd = new SqlCommand(query, con);
                        cmd.Parameters.Clear();
                        cmd.Parameters.AddWithValue("@usu", usu);
                        cmd.Parameters.AddWithValue("@cliente", cliente);
                        cmd.Parameters.AddWithValue("@ref_item", row.Cells[1].ToString());
                        cmd.Parameters.AddWithValue("@referencia", row.Cells[2].ToString());
                        cmd.Parameters.AddWithValue("@descrípcion", row.Cells[3].ToString());
                        cmd.Parameters.AddWithValue("@cantidad", 66/*Convert.ToInt32(row.Cells[5].ToString())*/);
                        cmd.Parameters.AddWithValue("@cant_item", Convert.ToInt32(row.Cells.Count.ToString()));
                        cmd.ExecuteNonQuery();
                    }
                } 
                
                Response.Write("Pedido realizado papu");
                con.Close();



    • Editado Juan Camilo Narvaez miércoles, 14 de septiembre de 2016 15:10
    • Cambiado Sergio Parra lunes, 19 de septiembre de 2016 11:35 pregunta sobre acceso a datos
    miércoles, 14 de septiembre de 2016 15:09

Todas las respuestas

  • Separa las cadenas de los paréntesis:

    string query = "insert into pedido_Lite (idcliente,iduser,ref_item,desc_item,cant_item,cant_total_item) values (@usu,@cliente,@referencia,@descrípcion,@cantidad,@cant_item)";


    Saludos, Javier J

    miércoles, 14 de septiembre de 2016 15:19
  • Juan Camilo Narvaez,

    ¿Cuál es el error textual que obtienes?

    Si el error hace referencia a una tabla de base de datos entonces valida lo siguiente:

    1. Que la cadena de conexión apunte a la base de datos correcta.
    2. Que la tabla pertenezca al esquema predeterminado.
    3. Que el nombre del objeto (tabla de base de datos) este correctamente escrito tal y como está en la base de datos (considera mayúsculas y minúsculas).


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    miércoles, 14 de septiembre de 2016 15:19
  • hola

    partamos de la base que definir un INSERT no es solo escribir una cadena, tienes que dejar espacios entre la definicion de la tabla el values y los parentesis, sino vas a tener estos mensajes de error

    insert into pedido_Lite (idcliente,
    ) values (

    deja espacios

    ----

    por otro lado para que usas el Parameters.Clear() si defines una nueva instancia del command dentro del loop? eso no tiene sentido

    creo que deberias usar

    SqlCommand cmd = new SqlCommand(query, con);

    foreach (GridViewRow row in GridView2.Rows) { if (row!= null){ cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@usu", usu);

    //resto codigo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 14 de septiembre de 2016 15:23
  • ya he corregido y aun sigue saliendo el error copie el nombre tal cual de la base de datos y no sigue sin funcionas pero gracias por tus apotes
    miércoles, 14 de septiembre de 2016 15:45
  • ya he revisado todo y esta bien pero aun no corrigo el error

    miércoles, 14 de septiembre de 2016 15:46
  • cuando muestra el mensaje del error no menciona el nombre de la tabla ? porque es raro que solo diga "nombre tabla" sin mencionar de cual se trata

    validaste el connection string que te estes conectando a la db correcta ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 14 de septiembre de 2016 17:04
  • Hola @Juan Camilo Narvaez

    Después de todas las recomendaciones y correciones de los compañeros que ¿Error te esta dando?, podrías fijarte en el Inner Exception/Mesage.


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    domingo, 25 de septiembre de 2016 20:27