mysql データベースにテーブル EXPENSES があり、列の 1 つは型が decimal(10,2) の AMMOUNT です。データベースに値を挿入するために使用されるテキストボックスを備えた 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();
問題は地域設定に関係しています。フォーマットをGREEKに設定した場合。小数点記号は「,」です。「、」を使用して 10 進数値を挿入しようとすると、受け入れられません (40,5 ではなく 405 として格納されます)。小数点記号を「.」に設定した場合 テキストボックスに40.5が正しく保存されています。地域設定を英語に設定し、10 進数値を「,」に設定すると、再び機能しません。10 進数は、小数点記号が "." の場合にのみ受け入れられるようです。これはよくわかりません。「、」を小数点演算子として受け入れるようにするにはどうすればよいですか?
敬具 ジョージ・ジョルジウ