Я работаю над следующей проблемой, и я не могу найти ответ.Вставить десятичные значения в MySQL с C#
Я получил следующий код:
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();
}
Метод работает нормально (до сих пор), но если я хочу, чтобы вставить двойной ПДБ он получил укоротить базу данных (?). Е. г .:
Код я вызвать метод с:
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
Структура таблицы (я попробовал различные данные типы): another cs of MDB
Надеюсь, вы можете сказать мне, что я делаю неправильно.
Приветствия Polarety
Возможно, это слишком рано, и мои колеса еще не начали полностью вращаться, но что вы имеете в виду, когда говорите «MDB»? _It заставляет меня думать, что вы говорите о MSAccess._ – Uueerdo
Я использую XAMPP с MariaDB (MDB) вместо MySQL. Я знаю, что это почти симуляция, но я не знаю, является ли это причиной того, что это не сработало. – Polarety
AddWithValue не может заранее знать, что такое тип данных в базе данных, и поэтому он строит параметр строки из-за вашего ToString(), но это преобразует ваш ввод в строку, используя ваши настройки локали. База данных не любит запятую как десятичный разделитель и хочет точку. – Steve