gpt4 book ai didi

c# - 将变量分配给数据表

转载 作者:太空宇宙 更新时间:2023-11-03 23:21:45 25 4
gpt4 key购买 nike

我从 SQL 存储过程返回 2 个结果 -

Select SUM(abcd) from rstuv
Select SUM(lmnop) from zxy

然后在我的 C# 中,我将它们分配给 Data Tables,就像这样

DataTable firstreturnedresult = ds.Tables[0];
DataTable secondreturnedresult = ds.Tables[1];

问题是如何将十进制变量分配给 Data Set 中包含的 SUM()

最佳答案

显示的查询使用标量函数 SUM,因此结果是一个由单行单列组成的数据表。要获取该值并将其分配给一个十进制变量,您可以这样写:

decimal sum1 = Convert.ToDecimal(firstreturnedresult.Rows[0][0]);

仅当您的数据库表包含至少一行要对其求和时,此方法才能正常工作。如果数据库表为空,则返回表的第一列包含值 DbNull.Value,您需要注意这一点并避免会触发异常的转换

decimal sum1 = 0;
if(firstreturnedresult.Rows[0][0] != DBNull.Value)
sum1 = Convert.ToDecimal(firstreturnedresult.Rows[0][0]);

还要考虑更改检索值的方式。您可以选择简单的 SqlCommand 和对 ExecuteScalar 的调用,而不是构建 SqlDataAdapter 所需的所有基础结构

像这样

 SqlCommand cmd = new SqlCommand("Select SUM(abcd) from rstuv", connection);
object result = cmd.ExecuteScalar();
decimal sum1 = result == null ? 0 : Convert.ToDecimal(result);

关于c# - 将变量分配给数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35160665/

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