无法从表中显示最大工资(测试)
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