如果SQL查询的输出为空,则将标签值赋给零

本文关键字:标签 查询 SQL 输出 如果 | 更新日期: 2023-09-27 17:54:07

我是一个c#新手我正在研究winformc#。我有一个查询,结果是列值的和。总和设为标号。文本的可见性和默认值是0,即0,我的代码是

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

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

如果SQL查询的输出为空,则将标签值赋给零

你可以改变很多东西。例如,您的查询可以使用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();
}

把代码改成…

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

…只要试试这个,让我知道进一步....