2013-12-17 60 views
2

我有一个下拉菜单和一个gridview。下拉列表与mysql数据库链接,并显示来自我的数据库的值(类别)。选择*从下拉选择c#

我的问题是,有没有一种方法可以编写查询,它将显示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

任何帮助将不胜感激。

+0

你可能想要防止MySql注入周边 – Beep

回答

5

是的,你可以做这样的事情..

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。我希望这有帮助!

+0

感谢您的帮助,这给了我一个大概的想法,我已经摆弄它,但没有运气,因为我对C#很陌生,但会继续尝试。 –

+0

你有什么问题?任何错误消息或类似的东西? – Humpy

+0

没有错误消息出现,它只是不输入数据到gridview –

0

你的意思是表里面的所有信息?像名字,desc ...等? 在这种情况下,我认为你应该使用你的下拉菜单选定值作为查询中的参数来填充下拉菜单的selectIndexChange中的gridview。