none
No se han especificado valores para alguno de los parametros requeridos RRS feed

  • Pregunta

  • este es mi codigo...

    OleDbConnection conn = new OleDbConnection();
                    conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
                        @"Data source= C:\Users\Villamonte\Desktop\Prueba\Facturas.accdb";

                    try
                    {
                        conn.Open();
                        sentencia = "INSERT INTO Factura VALUES( \""
                                       + txtclavefactura.Text + "\" " + ","
                                + "\"" + txtcservicio.Text + "\" " + ","
                                + "\"" + txttiposervicio.Text + "\" " + ","
                                + "\"" + txtclavecliente.Text + "\" " + ","
                                        + txtnombrecliente.Text + ")";

                        System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sentencia, conn);
                        cmd.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    finally
                    {
                        conn.Close();
                        MessageBox.Show("La conexion se cerró");
                    }
                }
            }

    martes, 28 de noviembre de 2017 22:29

Respuestas

  • Buenas,

    puedes hacerlo asi:

    OleDbConnection conn = new OleDbConnection();
      conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
          @"Data source= C:\Users\Villamonte\Desktop\Prueba\Facturas.accdb";
    
      try
      {
        conn.Open();
    
        string sentencia = "INSERT INTO Factura (clavefactura,servicio,tiposervicio,clavecliente,nombrecliente) VALUES(@clavefactura,@servicio,@tiposervicio,@clavecliente,@nombrecliente)";
    
        OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sentencia, conn);
        cmd.Parameters.AddWithValue("@clavefactura", txtclavefactura.Text);
        cmd.Parameters.AddWithValue("@clavefactura", txtcservicio.Text);
        cmd.Parameters.AddWithValue("@clavefactura", txttiposervicio.Text);
        cmd.Parameters.AddWithValue("@clavefactura", txtclavecliente.Text);
        cmd.Parameters.AddWithValue("@clavefactura", txtnombrecliente.Text);
        cmd.ExecuteNonQuery();
      }
      catch (Exception ex)
      {
        MessageBox.Show(ex.Message);
      }
      finally
      {
        conn.Close();
        MessageBox.Show("La conexion se cerró");
      }

    Tendras que reemplazar los nombre de las columnas que insert  (primer parentesis) , por los nombre de tus columnas

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    miércoles, 29 de noviembre de 2017 9:43
  • Buenas,

    Ese error te esta indicando que en el insert, faltan columnas por rellenar. Revisa la estructura de la tabla y añade los valores que faltan al insert.

    Por otro lado, la separación de campos se hace con coma (,) no con contrabarras (\)

    Quedó a la espera de tus novedades

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    martes, 28 de noviembre de 2017 22:59

Todas las respuestas

  • Buenas,

    Ese error te esta indicando que en el insert, faltan columnas por rellenar. Revisa la estructura de la tabla y añade los valores que faltan al insert.

    Por otro lado, la separación de campos se hace con coma (,) no con contrabarras (\)

    Quedó a la espera de tus novedades

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    martes, 28 de noviembre de 2017 22:59
  • Puedes explicarme lo de rellenar columnas en mi base de datos, es que no sé mucho sobre eso.
    miércoles, 29 de noviembre de 2017 2:32
  • Buenas,

    puedes hacerlo asi:

    OleDbConnection conn = new OleDbConnection();
      conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
          @"Data source= C:\Users\Villamonte\Desktop\Prueba\Facturas.accdb";
    
      try
      {
        conn.Open();
    
        string sentencia = "INSERT INTO Factura (clavefactura,servicio,tiposervicio,clavecliente,nombrecliente) VALUES(@clavefactura,@servicio,@tiposervicio,@clavecliente,@nombrecliente)";
    
        OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sentencia, conn);
        cmd.Parameters.AddWithValue("@clavefactura", txtclavefactura.Text);
        cmd.Parameters.AddWithValue("@clavefactura", txtcservicio.Text);
        cmd.Parameters.AddWithValue("@clavefactura", txttiposervicio.Text);
        cmd.Parameters.AddWithValue("@clavefactura", txtclavecliente.Text);
        cmd.Parameters.AddWithValue("@clavefactura", txtnombrecliente.Text);
        cmd.ExecuteNonQuery();
      }
      catch (Exception ex)
      {
        MessageBox.Show(ex.Message);
      }
      finally
      {
        conn.Close();
        MessageBox.Show("La conexion se cerró");
      }

    Tendras que reemplazar los nombre de las columnas que insert  (primer parentesis) , por los nombre de tus columnas

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    miércoles, 29 de noviembre de 2017 9:43
  • Gracias, funcionó a la perfección.
    miércoles, 29 de noviembre de 2017 14:48