gpt4 book ai didi

c# - mysql中SUM()的返回类型是什么?

转载 作者:可可西里 更新时间:2023-11-01 06:36:01 25 4
gpt4 key购买 nike

我正在用 C#.NET 编写程序我想收集一个类的总频率(假设每个类都有很多单词,每个单词在相应的类中都有自己的频率)

所以我在 mysql 中使用了 sum() 函数。但是有一个错误说我的 Actor 是错误的。

 public void average_each_type()
{
MySqlDataReader result;
int total_freq = 0;
string type = "";

command.CommandText = "select class_name ,SUM(frequency) as sum_of_freq from training_set group by class_name ";


result = command.ExecuteReader();
while (result.Read())
{

total_freq = (int)result["sum_of_freq"]; //error happened here
type = result["class_name"].ToString();
//.....then so on...//

最佳答案

MySql 中的 SUM 将返回小数或 double 值,具体取决于“频率”中的类型。来自documentation for SUM :

The SUM() and AVG() functions return a DECIMAL value for exact-value arguments (integer or DECIMAL), and a DOUBLE value for approximate-value arguments (FLOAT or DOUBLE). (Before MySQL 5.0.3, SUM() and AVG() return DOUBLE for all numeric arguments.)

如果你想要一个整数,你可以使用 Convert 来得到一个整数,无论​​源类型是什么:

total_freq = Convert.ToInt32(result["sum_of_freq"]);

这里的优势是 Convert.ToInt32无论从数据库返回什么类型的值,只要它是数字类型,都将起作用。

关于c# - mysql中SUM()的返回类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10592481/

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