C#语言中,如何将根据数据库中的值计算取得的结果赋值给textbox文本框?

我的代码如下:
sqlcon = new SqlConnection(strcon);
sqlcon.Open();
string sqlstr = "select sum(物业费) from feiyong where riqi between'"
+Convert.ToDateTime(date1.Text)+"'and'"+Convert.ToDateTime(date2.Text)+"'";
SqlCommand cmd = new SqlCommand(sqlstr, sqlcon);
SqlDataReader sdr = cmd.ExecuteNonQuery();
if (sdr.Read())
{
Label1.Text = sdr["物业费"].ToString();
}
sqlcon.Close();
提示错误为:
无法将类型“int”隐式转换为“System.Data.SqlClient.SqlDataReader”
请高手帮帮忙,十分感谢!!!
出错的地方在 SqlDataReader sdr = cmd.ExecuteNonQuery();

这种sum,count类似的聚合函数
最好用下面的
sum=(int) new sqlcommand(selectstring,connection).executescalar
看上去也简洁,运行稳定。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-28
用if()??为什么不用while呢?只能返回一条记录?

SqlDataReader sdr = cmd.ExecuteNonQuery();//这个是返回成功数是Int类型的呵呵
改成
SqlDataReader sdr =command.ExecuteReader();//要返回SqlDataReader类型得用这个~

楼上的方法不错,对你这种直接用他那种不错追问

如果改成com.ExecuteReader();下边的代码就会出错:Label1.Text = sdr["物业费"].ToString();
我希望他返回的类型是int型,然后将返回结果赋值给标签Label,这样应该怎么做啊!

相似回答