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.