moe*_*moe 3 c# asp.net sql-server-2008
我试图将一个select语句结果存储在C#变量中,但是收到此错误
"指定演员表无效"
当我运行它.我不知道如何解决它,请帮忙
SqlConnection con1 = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
SqlCommand cmd1 = new SqlCommand("select cast(round(sum(CAST(AvgNumbers AS numeric(12,2))),2) as decimal(12,2)) AS [Average Days] from MainTable ", con1);
cmd1.Connection = con1;
con1.Open();
Int32 result = (Int32)cmd1.ExecuteScalar();
con1.Close();
Run Code Online (Sandbox Code Playgroud)
cmd1.ExecuteScalar()没有返回一个盒装整数.将它分配给一个对象并在调试器中查看它以查看它到底是什么.
我猜它会返回一个Decimal或一个double,你需要这样做:
Int32 result = (Int32)(double)cmd1.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
要么:
Int32 result = (Int32)(Decimal)cmd1.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
[编辑回复下面提交的问题]
要保持小数值,只需执行以下操作:
Decimal result = (Decimal) cmd1.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
如果需要,可以将小数转换为double:
double result = (double)(Decimal) cmd1.ExectuteScalar();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4571 次 |
| 最近记录: |