C# 从下拉选择c中选择*

C# 从下拉选择c中选择*,c#,mysql,asp.net,gridview,C#,Mysql,Asp.net,Gridview,我有一个下拉菜单和一个gridview。下拉列表与mysql数据库链接,并显示我的数据库中的值类别 我的问题是,是否有一种方法可以编写查询,在gridview中显示所选值类别中的所有信息 此下拉列表在页面加载时运行的代码: public void ddl_Cat() { if (!Page.IsPostBack) { MySqlCommand sql_Category = new MySqlCommand("SELECT DISTI

我有一个下拉菜单和一个gridview。下拉列表与mysql数据库链接,并显示我的数据库中的值类别

我的问题是,是否有一种方法可以编写查询,在gridview中显示所选值类别中的所有信息

此下拉列表在页面加载时运行的代码:

public void ddl_Cat()
    {
        if (!Page.IsPostBack)
        {
            MySqlCommand sql_Category = new MySqlCommand("SELECT DISTINCT(Category) FROM DVD", cs);
            cs.Open();

            MySqlDataReader ddlgetcat;
            ddlgetcat = sql_Category.ExecuteReader();
        }
    }
到目前为止,我还没有gridview的任何代码


任何帮助都将不胜感激。

是的,你可以这样做

protected void ddlgetcat_SelectedIndexChanged(object sender, EventArgs e)
{
    string category = ddlgetcat.SelectedValue.Text;

    DataTable dt = new DataTable();
    MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM DVD WHERE Category = '" + category +"';", cs);
    da.Fill(dt);
    gvGridView1.DataSource = dt;
    gvGridView1.DataBind();
}

这是没有测试,但它会给你如何做的一般想法。我也不使用MySql,所以您可能需要对其进行更改以使其正常工作。然后在gridview中,我建议使用TemplateFields。我希望这有帮助

您是指表类别中的所有信息吗?比如名字,描述……等等?
在这种情况下,我认为您应该在查询中使用下拉菜单中的选定值作为参数来填充selectIndexChange中的gridview,以用于下拉菜单。

您可能希望使用Perimeters阻止MySql注入感谢您的帮助,这给了我一个大致的想法,我对此进行了修改,但运气不佳,因为我对C非常陌生,我会继续努力的。你有什么问题?有任何错误消息或类似的信息吗?没有出现错误消息,只是没有将数据输入GridView。我犯了一个愚蠢的错误,这段代码工作正常!非常感谢你。