search.aspx页面后台代码,说明:这是让用户填写搜索条件的页面protected void Button1_Click(object sender, System.EventArgs e)
{
//重定向到搜索结果页,并传送搜索条件
             Session["Bclass_Name"] = TB_Author.Text;
            Session["p_name"] = TextBox1.Text;
            this.Response.Redirect("searched.aspx?Bclass_Name=" + TB_Author.Text + "&p_name=" + TextBox1.Text + "&p_text=" + TB_Q_Note.Text);
}
searched.aspx页面后台代码,说明:这是显示用户搜索结果的页面public partial class searched : System.Web.UI.Page
{

public void BindGrid() 
{
            string con, tpf,Bid=null ,Name=null;
            string DBtype = ConfigurationManager.AppSettings["DBtype"];
            tpf = "%";
            if (Request.QueryString["p_text"] == "%")
                con = tpf;
            else
                con = tpf + Request.QueryString["p_text"].ToString() + tpf;
            if (Request.QueryString["Bclass_Name"].ToString() != null)
                Bid = tpf + Request.QueryString["Bclass_Name"].ToString() + tpf;
            if (Request.QueryString["p_name"].ToString() != null)
                Name = tpf + Request.QueryString["p_name"].ToString() + tpf;
            string sql1;
            if (Request.QueryString["p_name"].ToString() == null)
            {
                if (Request.QueryString["Bclass_Name"].ToString() == null)
                {
                    sql1 = "SELECT p_id,p_name, BigClass_ID,p_count , p_price, p_text FROM Parts" +
                        " WHERE (p_text LIKE @p_text)";
                }
                else
                {
                    sql1 = "SELECT p_id,p_name,Parts.BigClass_ID,b.BigClass_ID, b.BigClass_Name,p_count , p_price, p_text FROM Parts,Bclass as b" +
                        " WHERE (Parts.BigClass_ID=b.BigClass_ID)AND(BigClass_Name =@BigClassName) AND (p_text LIKE @p_text)";
                }
            }
            else
            {
                if (Request.QueryString["Bclass_Name"].ToString() == null)
                {
                    sql1 = "SELECT p_id,p_name, BigClass_ID,p_count , p_price, p_text FROM Parts" +
                        " WHERE (p_text LIKE @p_text) AND (p_name =@p_name)";
                }
                else
                {
                    sql1 = "SELECT p_id,p_name,Parts.BigClass_ID,b.BigClass_ID, b.BigClass_Name,p_count , p_price, p_text FROM Parts,Bclass as b" +
                        " WHERE (Parts.BigClass_ID=b.BigClass_ID)AND(BigClass_Name =@BigClassName) AND (p_text LIKE @p_text) AND (p_name =@p_name)";
                }
            }            if (DBtype == "Accsee")
            {
                DBsql exsql = new DBsql();
                exsql.Open();
                OleDbDataAdapter da = new OleDbDataAdapter(sql1, exsql.con);                if (Request.QueryString["BID"] != null)
                {
                    da.SelectCommand.Parameters.Add("@BigClassName", OleDbType.VarChar, 160, "BigClass_Name").Value = Bid;                }
                if (Request.QueryString["p_name"] != null)
                {
                    da.SelectCommand.Parameters.Add("@p_name", OleDbType.VarChar, 160, "p_name").Value = Name;                }
                da.SelectCommand.Parameters.Add("@p_text", OleDbType.VarChar, 160, "p_text").Value = con;                DataSet ds = new DataSet();
                da.Fill(ds);
                exsql.Close();
                this.DL_Main.DataSource = ds.Tables[0];
                this.DL_Main.DataBind();
            }protected void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (Request.QueryString["p_text"]==null)
Lblsearch.Text="没有输入关键字";
else
{
Lblsearch.Text="关键字:"+Request.QueryString["p_text"].ToString();
BindGrid();
}
}

解决方案 »

  1.   

    查询语句在查询分析器执行
    string sql="select * from Tb where 1=1";
    sql+=string.IsNullorEmpty(值)?"":" and ";
      

  2.   

    这是另一个问题,如能回答这个问题,就帮忙看下。碰到的问题是这样的,我这里用到了两个绑定,两个绑定是运用到两张不同的表,可是后一个绑定,一直出错,显示找不到属性。单独绑定就可以成功。所以我想问,是不是一个页面只能绑定一张表。如果是这样,那我要这样实现两个控件分别绑定两张表,该怎么实现
     public partial class EditBClass : System.Web.UI.Page
        {        protected void Page_Load(object sender, System.EventArgs e)
            {
                          
            }        public void BindGrid()
            {
                DGBClass.DataSource = (DataTable)Session["dt"];
                this.Page.DataBind();                    }
            public void BindList()
            {
               DropDownList1.DataSource = DBOperate.SelectFormForum("SELECT pro_name FROM project ");
               DropDownList1.DataBind();
            }
      

  3.   

    你自己调试一样呀!
      看是不是SQL出错了 还是怎么回事?
      或用上楼说的试下。
      

  4.   

    我只想说数据库设计问题,数据库表的问题,数据库表内容的问题,请LZ检查数据库!!!
    以及SQL查询语句的编写问题!!!
    这是涉及到数据库后台的问题!!!