我的insert请求中有一个双值。在这个双精度值中,我将逗号改为一个点,在创建mysqlcommand时使用12.5而不是12,5,就像在mysql规则中一样。但是我的字符串将我的点改为逗号,并用逗号发送insert请求,并引发了一个异常。为什么mysqlcommand创建一个12,5而不是12.5的字符串?
string valueCapteur = "12,5";
valueCapteur = valueCapteur.Replace(',', '.');
double.TryParse(valueCapteur, NumberStyles.Any, CultureInfo.InvariantCulture, out double value);
MySqlCommand cmd = new MySqlCommand
{
Connection = cnn,
CommandText = "INSERT INTO `notification`(`Value`) VALUES (" + value + ");"
};
cmd.ExecuteNonQuery();
当我调试value=12.5但在cmd.commandtext value=12,5时
1条答案
按热度按时间vlurs2pr1#
您需要的是参数:
或者用“潇洒”这样的工具:
除了避免sql注入之外,参数的一个关键点是它避免了区域性和格式问题。