none
No funciona consulta INSERT en Visual C# RRS feed

  • Pregunta

  •  OleDbCommand cmdOperarios = new OleDbCommand("INSERT INTO Averias(CodAveria, CodInstalacion, NomInstalacion, CodAFO, NomAFO, CodTecnologia, NomTecnologia, CodProblema, NomProblema, Opcion) VALUES ('"+codAv+"',"+CodInstalacion+",'"+NomInstalacion+"', '"+CodAFO+"','"+NomAFO+"','"+CodTecnologia+"','"+NomTecnologia+"','"+CodTProblema+"','"+NomProblema+"',"+opcion+"", conexion);
    
                        //Intentamos ejecutar los comandos
                        cmdOperarios.ExecuteNonQuery();

    Tengo esta consulta en un codigo y al ejecutar me da error OleDBException y no entiendo porque ya que pruebo con esta otra consulta:

    INSERT INTO Averias(CodAveria, CodInstalacion, NomInstalacion, CodAFO, NomAFO, CodTecnologia, NomTecnologia, CodProblema, NomProblema, Opcion) VALUES ('AV050516001',241,'Mascaron - F2', '063','063-AFO 063','MES','Mesa Intermedia','ELE','Electrico',3);

    en la BBDD y funciona perfectamente. Que es lo que puede estar fallando?

    Un saludo, gracias!


    viernes, 5 de febrero de 2016 6:57

Respuestas

  • Tienes tu bbdd integrada en tu proyecto? 

    Porque de ser así y si tienes la propiedad de la misma en tu explorador de soluciones como Copia Local, cada vez que ejecutes en depuracion se copiará una nueva y no veras los cambios anteriores 

    Echa un ojo a http://ltuttini.blogspot.com.es/2012/11/visual-studio-base-de-datos-integradas.html


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta tximas lunes, 8 de febrero de 2016 8:32
    viernes, 5 de febrero de 2016 11:01

Todas las respuestas

  • ¿Qué mensaje te da la excepción?


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    viernes, 5 de febrero de 2016 7:56
  • Error de sintaxis en la Instruccion INSERT INTO
    viernes, 5 de febrero de 2016 8:27
  • Hola. Si ves en diferentes respuestas del foro se recomienda como buena práctica el emplear consultas parametrizadas para una de las cosas buenas que tiene es eso, evitar errores de sintaxis

    string query = @"INSERT INTO Averias(CodAveria, CodInstalacion, NomInstalacion, CodAFO, NomAFO, CodTecnologia, NomTecnologia, CodProblema, NomProblema, Opcion) 
    			VALUES (?,?,?,?,?,?,?,?,?,?)";
    
    OleDbCommand cmdOperarios = new OleDbCommand(query, conexion);
    cmdOperarios.AddWithValue("?codAv",codAv);
    cmdOperarios.AddWithValue("?CodInstalacion", CodInstalacion);
    cmdOperarios.AddWithValue("?NomInstalacion", NomInstalacion);
    cmdOperarios.AddWithValue("?CodAFO", CodAFO);
    cmdOperarios.AddWithValue("?NomAFO", NomAFO);
    cmdOperarios.AddWithValue("?CodTecnologia", CodTecnologia);
    cmdOperarios.AddWithValue("?NomTecnologia", NomTecnologia);
    cmdOperarios.AddWithValue("?CodTProblema", CodTProblema);
    cmdOperarios.AddWithValue("?NomProblema", NomProblema);
    cmdOperarios.AddWithValue("?opcion", opcion);
    
    
    //Intentamos ejecutar los comandos
    cmdOperarios.ExecuteNonQuery();


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    viernes, 5 de febrero de 2016 8:30
  • De esta manera no da ningu ntipo de error pero despues de ejecutar el codigo, accedo a la BBDD y no se ha añadido ninguna fila. Ademas tengo la tabla eliminada del todo y no aparece nada.

    viernes, 5 de febrero de 2016 8:47
  • Tu cadena de conexión a dónde apunta? Es muy raro que si no existe la tabla no te lance una excepción....


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    viernes, 5 de febrero de 2016 10:05
  • @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\ciarBBDD.accdb; Jet OLEDB:Database Password=VWNACIAR2014"

    es a es la cadena de conexion. Esta bien porque antes que el insert cargo los datos a 5 listBox y funcionan perfectamtente. Tengo muchas consultas select.

    Un saludo

    viernes, 5 de febrero de 2016 10:44
  • Tienes tu bbdd integrada en tu proyecto? 

    Porque de ser así y si tienes la propiedad de la misma en tu explorador de soluciones como Copia Local, cada vez que ejecutes en depuracion se copiará una nueva y no veras los cambios anteriores 

    Echa un ojo a http://ltuttini.blogspot.com.es/2012/11/visual-studio-base-de-datos-integradas.html


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta tximas lunes, 8 de febrero de 2016 8:32
    viernes, 5 de febrero de 2016 11:01
  • Muy buen articulo. Gracias Sergio pero sigue sin funcionar, en le articulo dice que pongamos en false la propiedad

    que reemplaza la BBDD cada vez que se ejecuta el depurador. Pongo dicha propiedad en false pero al ejecutar

    el proyecto me salta un error el cual me dice: El proceso no puede tener acceso a dicho manifiesto, ejecutado por otro proceso.

    Muchas gracias por la ayuda

    viernes, 5 de febrero de 2016 11:36