我在 mysql 数据库中有一个表 EXPENSES,其中一列是 AMMOUNT,类型为 decimal(10,2)。我有一个 C# (winforms) 应用程序,它带有一个用于在数据库中插入值的文本框。
string initialquery = "INSERT INTO EXPENSES (ID, E_DATE, AMMOUNT, PERSON, COMMENTS, T_ID) " +
"VALUES ('" + id + "', '" + date.ToString("yyyy:MM:dd") + "', '" + ammount + "', '" + person + "', '" + comments + "', '" + tid + "')";
//yyyy:MM:dd hh:mm:ss
myMySqlConnection.Open();
MySqlCommand command1 = new MySqlCommand(initialquery, myMySqlConnection);
command1.ExecuteNonQuery();
if (lang == 2)
MessageBox.Show("ΤΑ ΔΕΔΟΜΕΝΑ ΑΠΟΘΗΚΕΥΤΗΚΑΝ");
else if (lang == 1)
MessageBox.Show("DATA SAVED");
myMySqlConnection.Close();
问题与区域设置有关。如果我将格式设置为希腊语。十进制符号为“,”。当我尝试使用“,”插入十进制值时,它不接受它(存储为 405 而不是 40,5)。如果我将十进制符号设置为“。” 我在文本框中 40.5 存储正确。如果我将区域设置设置为英语并将十进制值设置为“,”,则再次无法正常工作。似乎只有当十进制符号是“。”时才接受十进制数字。我不太明白这一点。我怎样才能让它接受“,”作为小数运算符?
最好的问候乔治乔治