我正在解決以下問題,但找不到答案。用C將十進制值插入MySQL#
我有下面的代碼:
public void CreateCmd (string g_cmd,params object[] g_params)
{
int i = 0;
MySqlCommand cmd = verbindung.CreateCommand();
cmd.CommandText = g_cmd;
foreach(object param in g_params)
{
cmd.Parameters.AddWithValue("?param"+i.ToString(), param.ToString());
i++;
}
verbindung.Open();
cmd.ExecuteNonQuery();
}
的方法是工作的罰款(到目前爲止),但如果我要插入一個雙到MDB它得到了由數據庫縮短(?)。 E.克:
我調用該方法的代碼:
database.CreateCmd("INSERT INTO `orders` (`id`, `time`, `tax`, `netto`, `brutto`) VALUES(NULL, CURRENT_TIMESTAMP, ?param0, ?param1, ?param2)", 0.19, 201.5, 239.785);
輸入至極示於PHPMyAdmin中: Screenshot from PHPMyAdmin
表的結構(I已經嘗試不同的數據類型): another cs of MDB
我希望你能告訴我我做錯了什麼。
問候 Polarety
也許現在太早了,我的輪子還沒有開始完全旋轉,但是當你說「MDB」時它是什麼意思? _It讓我覺得你在談論MSAccess._ – Uueerdo
Im使用XAMPP與MariaDB(MDB)而不是MySQL。我知道它幾乎是相似的,但我不知道這是否是它不起作用的原因。 – Polarety
AddWithValue無法預先知道數據庫上的數據類型是什麼,因此它會根據您的ToString()生成一個字符串參數,但這會使用您的語言環境設置將字符串轉換爲字符串。數據庫不像逗號那樣需要小數點分隔符,並且需要一個點。 – Steve