我正在从数据库中查询所有学费的总和,它等于输入的入学编号。 SQL SERVER中列的数据类型是十进制(10,2)。当我想转换为double时,它显示错误“指定的强制转换无效”。如何转换为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();
答案 0 :(得分:1)
您需要实际转换C#中的值。 double
和decimal
是C#中的两种不同类型。前者是内置类型,后者只是一个主要在C#本身实现的结构。由于它们不一样,你不能只是投射它们。在这种情况下,最简单的方法是使用Convert
类:
Convert.ToDouble((decimal)comSelect.ExecuteScalar());