我正在做一个 C# 项目,我有以下场景:
第一个是月份,第二个是年份,旁边有一个按钮。我还有一个表,其中包含名为 date(数据类型 small datetime)和 price(varchar)的两列。
我已经生成了这个,但它出现“无效的列名'yourMonthSelected'和“无效的列名'yourYearSelected'”错误。我的方法是正确的吗?
我正在做一个 C# 项目,我有以下场景:
第一个是月份,第二个是年份,旁边有一个按钮。我还有一个表,其中包含名为 date(数据类型 small datetime)和 price(varchar)的两列。
我已经生成了这个,但它出现“无效的列名'yourMonthSelected'和“无效的列名'yourYearSelected'”错误。我的方法是正确的吗?
我认为您查询文本是错误的。您尝试在查询中添加yourMonthSelected
andyourYearSelected
作为参数,但您没有在查询中使用@yourMonthSelected
and指定它们@yourYearSelected
。
试试这个查询;
string intero = "select sum(no_of_mobiles) from table2 where datepart(mm,given_schedule)= @yourMonthSelected and datepart(yy,given_schedule)= @yourYearSelected";
查看AddWithValue
方法并检查如何使用它。你可以写;
SqlDataReader rdr = cmd.ExecuteReader();
代替
SqlDataReader rdr;
rdr = cmd.ExecuteReader();
它们完全相同,但第一个看起来更好。同样在您的 while 子句中,您应该使用rdr[0]
而不是rdr
, 因为rdr
是array
. 像这样;
while (rdr.Read())
{
label2.Text = rdr[0].ToString();
}