protected void Button1_Click(object sender, EventArgs e)
    {
               string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Server.MapPath("App_Data/GISdb.mdb");
        OleDbConnection con = new OleDbConnection(strCon);
        con.Open();
        string sql = "select * from News where Title like '%"+TextBox1.Text.Trim().ToString()+"%' or  MesSource like '%"+DropDownList1.SelectedValue.ToString()+"%' or Pubdate like'%"+DropDownList2.SelectedValue.ToString()+"%'";
        OleDbCommand cmd = new OleDbCommand(sql,con);
        OleDbDataReader dataReader = cmd.ExecuteReader();
        if (dataReader.Read())
        {            DataList1.DataSource = dataReader;
            DataList1.DataBind();
        }
}
我想弄一个新闻搜索,按照上面写的代码,无论怎么选择,都是能把全部新闻给加载到页面去,不能起到关键字搜索作用,怎么样才能做到啊?在文本框中输入GIS,就能把GIS有关的搜索出来,用 DataList1展现

解决方案 »

  1.   

    or 代表只要这三个条件满足其中一个 就会去执行。如果你要选择应该这样写if(TextBox1.Text=xxx)
    {
    sql1
    }else if(DropDownList1.SelectedValue=xxx)
    {
    sql2
    }
      

  2.   

    1楼的那个不行啊,只有TextBox1的选择会起作用,DropDownList1的选择没用啊,还是会弹出全部新闻
      

  3.   

    2楼的那个TextBox1.Text=xxx中,xxx是表示什么啊,好像这样不想把