指定的类型转换在从十进制(10,2)转换为双精度时无效
本文关键字:转换 双精度 无效 类型转换 十进制 | 更新日期: 2023-09-27 17:53:46
我正在从数据库中检索所有学费的总和,它等于输入的入学编号。SQL SERVER中列的数据类型为十进制(10,2)。当我想转换为双显示错误"指定的cast是无效的"。如何转换成双精度?
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();
您需要在c#中实际转换值。double
和decimal
是c#中两种不同的类型。前者是一个内置类型,后者只是一个结构体,主要在c#中实现。因为它们不一样,所以不能直接使用它们。在这种情况下,最简单的方法是使用Convert
类:
Convert.ToDouble((decimal)comSelect.ExecuteScalar());