无法从表中显示最大工资(测试)

Posted

技术标签:

【中文标题】无法从表中显示最大工资(测试)【英文标题】:not able to display Max salary from table (test) 【发布时间】:2019-01-11 06:26:12 【问题描述】:

我有一张桌子,我无法从中选择最高薪水。 这是我的代码...

con.Open();
SqlCommand cmd = new SqlCommand("SELECT MAX(salary) AS MAximumSalary FROM test", con);
cmd.ExecuteNonQuery();    
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
count =Convert.ToInt32(dt.Rows.Count.ToString());
con.Close();
MessageBox.Show("Maximum salary is" +count);

这是我的数据库:-

name     salary
a       10000
b       31000
c       17000

【问题讨论】:

因为您显示数据表 ROWS COUNT。顺便说一句,count 是整数,你将它转换为字符串,然后再转换回整数 - 没有意义。 你想要 ExecuteScalar() 而不是 ExecuteNonQuery() 和 DataTable/Adapter 如果这是使用 mysql 数据库,它不是必须是 MySqlDataAdapter 吗?不过,很长一段时间没有使用 MySQL 数据库了(尽管事实上他应该是标量的)。 Convert.ToInt32(dt.Rows[0]["MAximumSalary"]) 也会给你预期的结果。 谢谢大家,它现在正在工作...... 【参考方案1】:
using (SqlCommand cmd = new SqlCommand("SELECT MAX(salary) FROM test"), con)

    int maxSalary = (int)cmd.ExecuteScalar();

【讨论】:

【参考方案2】:
con.Open();
SqlCommand cmd = new SqlCommand("SELECT max(salary) FROM test"), con);
count = (int)cmd.ExecuteScalar();
con.Close();
MessageBox.Show("Maximum salary is" +count);

【讨论】:

以上是关于无法从表中显示最大工资(测试)的主要内容,如果未能解决你的问题,请参考以下文章

无法从存储过程显示文本到 textview - Android SQL Server

Laravel 在控制台中从表中显示数组,即使具有空值

在Oracle中从表中删除重复行

sql MIN()和MAX()允许您从表中的列中提取最小值和最大值。第1行显示MIN()示例,它选择最小值

无法找到创建的 Hive 表,也无法从表中检索数据

MySQL:PHP:由于警告,无法从表中获取数据