搜索GridView

时间:2012-05-16 12:56:45

标签: asp.net

我现在有一个留言簿显示“评论”,“comment_time”,“用户”。我想在下面添加一个搜索框,然后通过“user”搜索gridview,然后将数据绑定到下面的新网格视图。我受到严格的指示,要求通过网络服务传递所有数据。

我现在有一个Web方法来获取所有评论:

[WebMethod]
    public DataSet SearchDatabase(string query)
    {
        DataSet ds = new DataSet();
        string database = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|/dvd_forum.accdb;Persist Security Info=True";
        string queryStr = "SELECT * FROM Comments WHERE User LIKE '%query%'";
        OleDbConnection myConn = new OleDbConnection(database);
        OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(queryStr, myConn);
        myConn.Open();
        myDataAdapter.Fill(ds, "Comments");
        myConn.Close();
        return ds;
    }

这是前面的代码:

<asp:Label ID="Label3" runat="server" Text="Search"></asp:Label><asp:TextBox ID="TextBoxSearch"
    runat="server"></asp:TextBox><asp:Button ID="ButtonSearch" 
runat="server" Text="Search" onclick="ButtonSearch_Click" />
<asp:GridView ID="GridView2" runat="server">

背后的代码:

protected void ButtonSearch_Click(object sender, EventArgs e)
{
    string query = TextBoxSearch.Text;

    localhost.Service1 myws = new localhost.Service1();
    ds = myws.SearchDatabase(query);
    GridView2.DataSource = ds;
    GridView2.DataBind();
}

它根本不做任何事情,页面刷新时没有新的GridView或任何其他动作。

另一方面说明: 我在同一页面上有另一个输入,带有必需的字段验证器,除非我用一些文本填充输入,否则我不会搜索。我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:2)

string queryStr = "SELECT * FROM Comments WHERE User LIKE '%"+query+"%'";