none
Ayuda con ERROR El campo es demasiado pequeño para aceptar la cantidad de datos que intenta agregar. Intente insertar o pegar menos datos.

    Question

  • Hola Buenas noches, tengo un pequeño GRAN PROBLEMA, estoy desarrollando un programa que me extraiga datos de un SQL SERVER 2008 R2 a una tabla de Access, con el motivo de Generar un .dbf, lo cual ya lo habia logrado sin problema, pero modifique una linea ("Que no tenia nada que ver con que afectara el resultado"), ya verifique todos los tipos de datos que hago el Insert a  Access y verifico la tabla fisica y todo esta bien, ya revise todo. El error es el Siguiente :

    El campo es demasiado pequeño para aceptar la cantidad de datos que intenta agregar. Intente insertar o pegar menos datos.

    Este es mi código del Insert

    cadena = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ruta + "\\Clipper2.accdb;Persist Security Info=False";

                OleDbConnection cone = new OleDbConnection(cadena);
                try
                {
                    string insert = "Insert Into datos(NO_NOTA,CANTIDAD,CLAVE,FECHA_MOV,DESTINO,PREPUB,DESCUENTO,ARTICULO,AUTOR,CLASIF,PREPUPES,PREPUDOL,IVA,CODIGO)" +
                    "values(" + mov + "," + cant + ",'" + arti + "','" + cambio + "','" + cliente + "'," + pre + "," + Dlinea + ",'" + desc + "','" + autor + "','" + categ + "'," + prec + "," + dolar + "," + impu + ",'" + codigo + "');";
                    OleDbCommand cmd = new OleDbCommand(insert, cone);
                    cone.Open();
                    cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error " + ex.Message);
                }
                finally
                {
                    cone.Close();
                }

    Utilizo C#.

    Tuesday, November 06, 2012 12:54 AM

Answers

  • Ya lo resolví, para los que les aparecía el mismo error que a mi se soluciono con este insert espero les ayude y gracias de todos modos :) .

    ruta = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal);
                cadena = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\ClipperPrueba.accdb;Persist Security Info=False";
                OleDbConnection cone = new OleDbConnection();
                cone.ConnectionString = cadena;
                try
                {
                    OleDbCommand cmd = new OleDbCommand();
                    cmd.Connection = cone;
                    cmd.CommandText = "Insert Into datos(NO_NOTA,CANTIDAD,CLAVE,FECHA_MOV,DESTINO,PREPUB,DESCUENTO,ARTICULO,AUTOR,CLASIF,PREPUPES,PREPUDOL,IVA,CODIGO) values" +
    "(@NO_NOTA,@CANTIDAD,@CLAVE,@FECHA_MOV,@DESTINO,@PREPUB,@DESCUENTO,@ARTICULO,@AUTOR,@CLASIF,@PREPUPES,@PREPUDOL,@IVA,@CODIGO);";
                    cmd.Parameters.Add("@NO_NOTA",OleDbType.Integer).Value = mov;
                    cmd.Parameters.Add("@Cantidad", OleDbType.Integer).Value = cant;
                    cmd.Parameters.Add("@Clave", OleDbType.VarChar, 10).Value = arti;
                    cmd.Parameters.Add("@FECHA_MOV", OleDbType.DBDate).Value = cambio;
                    cmd.Parameters.Add("@DESTINO", OleDbType.VarChar, 4).Value = cliente;
                    cmd.Parameters.Add("@PREPUB", OleDbType.Decimal).Value = pre;
                    cmd.Parameters.Add("@DESCUENTO", OleDbType.Decimal).Value = Dlinea;
                    cmd.Parameters.Add("@ARTICULO", OleDbType.VarChar, 40).Value = desc;
                    cmd.Parameters.Add("@AUTOR", OleDbType.VarChar, 12).Value = autor;
                    cmd.Parameters.Add("@CLASIF", OleDbType.VarChar, 5).Value = categ;
                    cmd.Parameters.Add("@NO_NOTA", OleDbType.Integer).Value = pre;
                    cmd.Parameters.Add("@NO_NOTA", OleDbType.Integer).Value = dolar;
                    cmd.Parameters.Add("@NO_NOTA", OleDbType.Integer).Value = impu;
                    cmd.Parameters.Add("@NO_NOTA", OleDbType.VarChar, 25).Value = codigo;
                    cone.Open();
                    int r = cmd.ExecuteNonQuery();
                    cone.Close();
                    cmd.Parameters.Clear();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error " + ex.Message);
                }
                finally
                {
                    cone.Close();
                }

    • Marked as answer by JhovGon Tuesday, November 06, 2012 7:48 PM
    Tuesday, November 06, 2012 7:48 PM