我可以看到很多話題,但沒有解決我的問題。訪問2007年和存儲十進制值
我來自斯洛文尼亞。我使用Access 2007的英文版。 使用c#。
我的語言環境設置全部設置爲斯洛文尼亞語。
我有一個帶有十進制列的訪問數據庫。 當我嘗試將5,4
保存到其中時,它會忽略並存儲54
。如果我嘗試存儲5.4
,它也會忽略。並存儲54
。
我正在使用數據表來操作代碼中的數據。
public static DataSet DbData;
public static DataRow DbRow;
我曾嘗試以下解決方案,他們沒有工作,(總是使用5,4
輸入):
DbRow[6] = Convert.ToDecimal(txtNovCena.Text); // value of DbRow[6] is 5,4
DbRow[6] = Decimal.Parse(txtNovCena.Text, new System.Globalization.CultureInfo("NL-nl").NumberFormat); // value of DbRow[6] is 5,4
DbRow[6] = Decimal.Parse(txtNovCena.Text, new System.Globalization.CultureInfo("EN-us").NumberFormat); // value of DbRow[6] is 54
DbRow[6] = Decimal.Parse(txtNovCena.Text, new System.Globalization.CultureInfo("sl-SI").NumberFormat); // value of DbRow[6] is 5,4
DbRow[6] = txtNovCena.Text.Replace(",", "."); // value of DbRow[6] is 54
什麼是存儲在數據庫後
DbAdapter.Update(DbData);
始終是54
。
我還能試試嗎?
編輯: 另外,如果我嘗試直接訪問運行該SQL語句:
UPDATE Sifrant
SET cena = 1,1
WHERE ID = 2;
我得到的語法錯誤的語句
但它的工作原理:
UPDATE Sifrant
SET cena = 1.1
WHERE ID = 2;
在打開的accdb文件的GUI中,十進制分隔符是可見的。
現在唯一的選擇可行正在轉向小數列成文本列,然後從字符串解析代碼爲十進制。但我想避免這種情況.. – SubjectX 2012-03-20 18:42:04