多条件查询

来源:互联网 发布:不亦君子乎的下一句 编辑:程序博客网 时间:2024/04/27 22:40

private void btnSearch_Click(object sender,System.EventArgs e)
{
StringBuilder sql=new StringBuilder();


//Limit maximum results size
sql.Append(@select top);
sql.Append(ConfigurationSettings.AppSettings["searchLimit"]);
sql.Append(@"
[User].UserID,[User].FirstName,[User].LastName,Place.PlaceID,Place.Name as PlaceName,
Place.Type.Name as PlaceType,PlaceType.TypeID,
TimeLapse.Name as LapseName,TimeLapse.YearIn,
TimeLapse.MonthIn,TimeLapse.YearOut,TimeLapse.MonthOut
From[user]
left outer join timelaspse on
timelapse.userid=[user].userid
left outer join placetype on
place.typeid=placetype.typeid
");

//builder the where clause now

StringBuilder qry=new StringBuilder();
     if(txtFirstName.Text!=String.Empty)
 {
  qry.Append("[User].FirstName like'%");
  qry.Append(txtFirstName.Text).Append("%' and");

 }
      if(txtLastName.Text!=String.Empty)
 {
  qry.Append("[user].LastName like'%"); 
  qry.Append(txtLastName.Text).Append("%'");
 }
 if(cbPlace.SelectedItem.Value!="0")
 {
  qry.Append("[Place].PlaceID='");
   qry.Append(cbPlace.SelectedItem.Value).Append("' and");
 }
 string filter=qry.ToString();
 if(filter.Length!=0)
 {
  sql.Append("where");
  sql.Append(filter.Length-4,4);
 }

 SqlDataAdapter ad=new SqlDataAdapter(sql.ToString,cnFriends);
 dsResults=new DataSet();
 ad.Fill(dsRusult,"user");
 
 
 //adjust label for results

 if(dsReusult.Tables["user"].Rows.Count<
 Convert.ToInt32(ConfigurationSettings.AppSettings["searchLimit"]))
 {
  lblLimit.Text="Found"+
  dsResult.Tables["user"].Rows.Count.ToString()+
  "users matching your criteria on initial search.";

 }
        else
  {
   lblLimit.Text="you're working with the first"+
   ConfigurationSettings.AppSettings["searchLimit"]+
   @"results. if you"
  }

  //place results in sessin state
  Session["search"]=dsResults;

  dsResults=(DataSet) Session["search"];
  grdResults.DataBind();
}

原创粉丝点击