C# SqlCommand方法结果可用于其他方法
我有一个选择年份的方法,我需要这个结果对其他方法是可接受的。我试过这个:C# SqlCommand方法结果可用于其他方法,c#,sql,sql-server,winforms,sqlcommand,C#,Sql,Sql Server,Winforms,Sqlcommand,我有一个选择年份的方法,我需要这个结果对其他方法是可接受的。我试过这个: void choose_year() { SqlCommand chooseyear = new SqlCommand("SELECT year FROM firma WHERE id=1", spojeni); spojeni.Open(); int? year= (int?)chooseyear .ExecuteScalar();
void choose_year()
{
SqlCommand chooseyear = new SqlCommand("SELECT year FROM firma WHERE id=1", spojeni);
spojeni.Open();
int? year= (int?)chooseyear .ExecuteScalar();
spojeni.Close();
}
在我的公共部分课上,我把“公共整年”列为“公共整年”
当我尝试从其他方法访问结果时,如下所示:
void choose_tour()
{
DataTable dt = new DataTable();
SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM zajezd WHERE year="+year, spojeni);
SDA.Fill(dt);
}
它返回不同的值,如-1、1或0。我不确定具体值,但当我选择_year()时,结果应该是2013。当我将choose_year的SqlCommand放入我用于choose_tour的方法中时,结果应该是2013年。我做错了什么?非常感谢您的时间和建议
我想,当我在这一年做公众活动时;使用与choose_year()中的结果相同的名称,它将合并。我很长时间没有编程了,所以我为我的错误感到抱歉 在中选择您拥有的\u year()
方法
int? year= (int?)chooseyear.ExecuteScalar();
前面的int?
表示您正在声明另一个变量来保存年份值。您想要的代码可能是
Object mayBeNullYear = chooseyear.ExecuteScalar();
if(mayBeNullYear!=null)
this.year= (int)mayBeNullYear;
您的方法应该返回一年,例如
int choose_year()
{
SqlCommand chooseyear = new SqlCommand("SELECT year FROM firma WHERE id=1", spojeni);
spojeni.Open();
int? year= (int?)chooseyear .ExecuteScalar();
spojeni.Close();
return year;
}
然后你在那些你需要的函数中调用它,比如说,那年
void choose_tour()
{
int year = choose_year();
DataTable dt = new DataTable();
SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM zajezd WHERE year="+year, spojeni);
SDA.Fill(dt);
}
试试看,它会有用的非常感谢你,我会在几分钟内接受你的回答,你帮了我很多。
void choose_tour()
{
int year = choose_year();
DataTable dt = new DataTable();
SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM zajezd WHERE year="+year, spojeni);
SDA.Fill(dt);
}