解决方案 »

  1.   

    动态组合SQL了,我的例子参考下
    private void doFind()
        {
            string searchStr1 = string.Empty;
            int find_flag = Convert.ToInt32(Request.QueryString["doFind"]);
            if (find_flag != 0)
            {
                //frameElement.dg.win.getFind(Interviewee, Visitor_Company, Visitor_Name, Visit_DateB, Visit_DateE);
                string Interviewee = HttpUtility.UrlDecode(Request.QueryString["Interviewee"].ToString().Trim());
                string Visitor_Company = HttpUtility.UrlDecode(Request.QueryString["Visitor_Company"].ToString().Trim());
                string Visitor_Name = HttpUtility.UrlDecode(Request.QueryString["Visitor_Name"].ToString().Trim());
                string Visit_DateB = Request.QueryString["Visit_DateB"].ToString().Trim();
                string Visit_DateE = Request.QueryString["Visit_DateE"].ToString().Trim();            if (Interviewee != "")
                {
                    searchStr1 = @" t.Interviewee=" + Utility.Quote(Interviewee);
                }
                if (searchStr1 != "" && Visitor_Company != "")
                {
                    searchStr1 += " and ";
                }            if (Visitor_Company != "")
                {
                    searchStr1 = @"t.Visitor_Company like '%" + Utility.RQuote(Visitor_Company) + "%'";
                }            if (searchStr1 != "" && Visitor_Name != "")
                {
                    searchStr1 += " and ";
                }            if (Visitor_Name != "")
                {
                    searchStr1 = @" t.Visitor_Name like  '%" + Utility.RQuote(Visitor_Name) + "%'";
                }            //按 来访日期 查询
                if (Visit_DateB != "" && Visit_DateE != "")
                {
                    if (searchStr1.Length > 0)
                    {
                        searchStr1 += " and ";
                    }                if (Utility.TextToDate(Visit_DateB) < Utility.TextToDate(Visit_DateE))
                    {
                        searchStr1 += "convert(varchar(10),t.Visit_DateB,120)>= '" + Utility.RQuote(Visit_DateB) + "' and convert(varchar(10),t.Visit_DateB,120)<= '" + Utility.RQuote(Visit_DateE) + "'";
                    }
                    else
                    {
                        searchStr1 += "convert(varchar(10),t.Visit_DateB,120)>= '" + Utility.RQuote(Visit_DateE) + "' and convert(varchar(10),t.Visit_DateB,120)<= '" + Utility.RQuote(Visit_DateB) + "'";
                    }
                }
                else
                {
                    if (searchStr1.Length > 0 && Visit_DateB != "")
                    {
                        searchStr1 += " and ";
                    }                if (Visit_DateB != "")
                    {
                        searchStr1 += "convert(varchar(10),t.Visit_DateB,120)= '" + Utility.RQuote(Visit_DateB) + "'";
                    }                if (searchStr1.Length > 0 && Visit_DateE != "")
                    {
                        searchStr1 += " and ";
                    }                if (Visit_DateE != "")
                    {
                        searchStr1 += "convert(varchar(10),t.Visit_DateB,120)= '" + Utility.RQuote(Visit_DateE) + "'";
                    }
                }
                setGridView(searchStr1);
            }
            else
            {
                setGridView(null);
            }
        }