0

我是 c# 的新手,我正在研究 winform c#。我有一个查询,结果是列值的总和。总和设置为 label.text 可见性,默认值为 0 即零我的代码是

    string interoo = "select sum(charge) from table2 
where datepart(mm,given_schedule)= @yourMonthSelected and 
datepart(yy,given_schedule)= @yourYearSelected";

问题是当没有搜索结果时意味着输出什么都没有然后营业额.text设置为null意味着在winform中它不可见文本是空白我认为它返回dbnull值但是如果没有如何设置它为0找到搜索结果。如果找到搜索结果,那么它将是相同的,但如果它是空白的,那么我不希望它是空白的,它应该是 0。这可能吗?

4

2 回答 2

3

你可以改变很多事情。例如,您的查询可以使用ISNULL强制归零(您可以在此处阅读更多内容)while ,如果只返回一项,则不需要这样做:

string interoo = "SELECT ISNULL(SUM(charge), 0) FROM table2 WHERE datepart(mm,given_schedule)= @yourMonthSelected AND datepart(yy,given_schedule)= @yourYearSelected";

SqlCommand cmdd = new SqlCommand(interoo, conn);
cmdd.Parameters.AddWithValue("yourMonthSelected", comboBox1.Text);
cmdd.Parameters.AddWithValue("yourYearSelected", comboBox2.Text);
SqlDataReader rdrr = cmdd.ExecuteReader();

if (rdrr.Read())
{
    turnover.Text = rdrr[0].ToString();
}
于 2013-01-17T14:42:39.783 回答
-1

更改您的代码,例如...

if(rdrr.Read())
{
     turnover.Text = rdrr[0].ToString();
}
else 
{
    turnover.text = "0";
}

......试试这个,让我进一步了解......

于 2013-01-17T14:43:01.863 回答