Я возвращаю сумму всех платежей за обучение из базы данных, где она равна введенному номеру приема. Тип данных для столбцов в SQL SERVER является десятичным (10,2). Когда я хочу преобразовать в double, он показывает ошибку «Указанный приказ недействителен». Как конвертировать в double?Указанное приведение недействительно при преобразовании из десятичной (10,2) в double
SqlConnection con6 = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con6.Open();
string query = "SELECT sum(tutionfee) FROM fees where admno='"+admissionnumber.Text+"'";
SqlCommand comSelect = new SqlCommand(query, con6);
double ID = (double)comSelect.ExecuteScalar();
FWIW, держать денежные суммы (как ваш общей стоимости обучения) в качестве десятичного в коде C# тоже. Сохранение десятичных значений как double имеет [побочные эффекты] (http://stackoverflow.com/questions/1165761/decimal-vs-double-which-one-should-i-use-and-when). –
Кроме того, обязательно [параметризовать свой запрос] (https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters (v = vs.110) .aspx) предупреждение. –