Представьте себе этот код:
string value = "1.23";
string query = "UPDATE MYTABLE SET COL1=@p1";
SqlCommand cmd = new SqlCommand(query, connection);
cmd.Parameters.AddWithValue("@p1", value);
cmd.ExecuteNonQuery();
В моей базе данных он будет работать со значением = "1.23", если COL1 - столбец десятичного типа. Но он потерпит неудачу, если значение равно «1,23» (запятая вместо точки в качестве десятичной точки). Ошибка
Ошибка преобразования типа данных nvarchar в числовой
Я бы хотел, чтобы он работал в обоих случаях, когда "value" является строковой переменной.
К сожалению, я не могу просто заменить запятую на точку, так как этот код будет более универсальным, имея дело как с numeric
, так и с varchar
столбцами
Есть ли способ, чтобы запрос принял параметр с номером, записанным в виде строки, с точкой и запятой, и правильно поместил его в таблицу?
Спасибо за любую помощь