gpt4 book ai didi

c# - Specified cast is not valid 错误使用 C#

转载 作者:行者123 更新时间:2023-11-30 14:13:12 25 4
gpt4 key购买 nike

我正在尝试将 select 语句结果存储在 C# 变量中,但出现此错误

"Specified cast is not valid"

当我运行它时。我不确定如何解决它,请帮助

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();

最佳答案

cmd1.ExecuteScalar() 未返回装箱整数。将它分配给一个对象并在调试器中查看它以了解它到底是什么。

我猜它会返回 Decimal 或 double,你需要做:

Int32 result = (Int32)(double)cmd1.ExecuteScalar();

或者:

Int32 result = (Int32)(Decimal)cmd1.ExecuteScalar();

[编辑以回应下方评论中的问题]

要保留十进制值,只需执行以下操作:

Decimal result = (Decimal) cmd1.ExecuteScalar();

如果需要,您可以将小数转换为 double :

double result = (double)(Decimal) cmd1.ExectuteScalar();

关于c# - Specified cast is not valid 错误使用 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14944254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com