• Lunes 29 de Abril de 2024, 06:12

Autor Tema:  MySql + C# error tipo de dato  (Leído 1220 veces)

mandrake_0219

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
MySql + C# error tipo de dato
« en: Viernes 19 de Junio de 2009, 15:52 »
0
Hola a todos.
Estoy haciendo una aplicacion en C# + WPF y uso una BD mysql. Se trata de un programa para administrar restaurantes.
Soy un poco novato, y mi problema es a la hora de registrar en la BD, las ventas del dia. El por que? pues estoy casi
seguro que es por el tipo de dato que uso en la DB para registrar el precio final.
Version de MySql = 5.1.30
SqlYog = 8.01
windows xp sp2
C# express edition 2008

/*Column Information For - "nameBD".sale_history*/
------------------------------------------------

Field       Type         Collation          Null    Key     Default  Extra           Privileges                       Comment
----------  -----------  -----------------  ------  ------  -------  --------------  -------------------------------  -------
Sales_Id    int      (NULL)             NO      PRI     (NULL)   auto_increment  select,insert,update,references        
sale_name   varchar(50)  latin1_swedish_ci  YES             (NULL)                   select,insert,update,references        
sale_cant   int      (NULL)             YES             (NULL)                   select,insert,update,references        
sale_price  double       (NULL)             YES             (NULL)                   select,insert,update,references        
sale_date   datetime     (NULL)             YES             (NULL)                   select,insert,update,references  

y en el codigo c#:

        public void insertData(MySqlConnection conect,int sale_productCant,string sale_productName,double sale_productPrice)
        {
           
            try
            {
                MySqlCommand commandInsertAll = new MySqlCommand();
                MySqlCommand commandSelectInsertRow = new MySqlCommand();
                string insertRowEarningDate = "INSERT INTO sale_history (sale_name, sale_cant, sale_price, sale_date) Values ('" + sale_productName.ToString() + "', '" + Convert.ToInt32(sale_productCant) + "' , '" + Convert.ToDouble(sale_productPrice.ToString("##.##")) + "' , '" + DateTime.Now.ToString("yyyy-MM-dd") + "')";

                commandInsertAll.CommandText = insertRowEarningDate;

                commandInsertAll.Connection = conect;
                commandInsertAll.ExecuteNonQuery();
                conect.Close();
            }
            catch (MySqlException e)
            {
                MessageBox.Show("No se pudo agregar el contacto " + e.ToString());
            }

Error que me sale:

Data truncated for column "sale_price" at row 1.

opinino: solo pasa cuando el valor a ingresar es decimal ejemplo: 1.05 . con valores enteros no pasa nada malo... pero obviamente cuando muestro el contenido
de dicha tabla en un listview/datagrid me salen enteros... 6 0 9 cuando deberia ser: 6.00  0.35  9.85

Muchas gracias  de antemano, por cualquier tipo de ayuda, opinion, comentario o info que me puedan brindar para resolver este problemita.