0
我有一个问题让我堆叠,我无法找到任何解决方案,非常需要你的帮助:其实我需要在员工表上进行一些搜索,就像我需要搜索所有女性或已经得到phd等职位,我做了这个查询雇员表的函数,如果条件和这个搜索的结果进入一个gridview并允许为真的问题是,只要我点击下一步去到gridview中的其他页面,它做了一个完整的回发,并再次绑定到gridview数据源,因为我给gridview数据源下面的函数(DetailedSearch)与if cluases当它进入函数时,它开始阅读与第一条件如果没有去该特定条件,然后抛出异常未将对象引用设置为对象的实例Gridview分页问题
这里是我的代码(这是它只是一个部分不完整的代码):
public DataTable DetailedSearch()
{
con.Open();
SqlDataAdapter da=new SqlDataAdapter();
if (FirstName != string.Empty)
{
if (FirstName != string.Empty && LastName != "--Letters--")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'"+"and lastname like '"+LastName.ToString()+"%'", con);
}
else if(FirstName!=string.Empty && Gender!="{Please Select}")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and gender='" + Gender.ToString() + "'", con);
}
else if(FirstName!=string.Empty && MaritalStatus!="{Please Select}")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and maritalstatus='" + MaritalStatus.ToString() + "'", con);
}
else if(FirstName!=string.Empty && Qualification!="{Please Select}")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and qualification='" + Qualification.ToString() + "'", con);
}
else if(FirstName!=string.Empty && GraduationDate!=DateTime.MinValue)
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and graduationdate='" + GraduationDate.ToString() + "'", con);
}
else if(FirstName!=string.Empty && Province!="{Please Select}")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and province='" + Province.ToString() + "'", con);
}
else if(FirstName!=string.Empty && LastEmployer!=string.Empty)
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and lastemployer='" + LastEmployer.ToString() + "'", con);
}
else if(FirstName!=string.Empty && EnteredBy!="{Please Select}")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and enteredby='" + EnteredBy.ToString() + "'", con);
}
else if (FirstName != string.Empty && DateEntered != DateTime.MinValue)
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and dateentered='" + DateEntered.ToString() + "'", con);
}
else
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'", con);
}
}
else if (LastName != "--Letters--")
{
if (LastName != "--Letters--" && Province != "{Please Select}")
{
da = new SqlDataAdapter("select * from employee where lastname like'" + LastName.ToString() + "%'" + "and province='" + Province.ToString() + "'", con);
}
else if (Gender != "{Please Select}" && LastName != "--Letters--")
{
da = new SqlDataAdapter("select * from employee where gender='" + Gender.ToString() + "'" + "and lastname like '" + LastName.ToString() + "%'", con);
}
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
return dt;
}
请帮我该怎么办,是完全以空白,没有逻辑来了我的脑海里,我必须把if引导的从句的查询可能是不一样的基础上,搜索,但如何让gridview的分页意识到了这一点:(提前
感谢
在什么行引发异常? – Andre 2012-08-11 03:38:22