Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C如何在datagridview(SQL)中显示数据库表的项_C#_Sql - Fatal编程技术网

C# C如何在datagridview(SQL)中显示数据库表的项

C# C如何在datagridview(SQL)中显示数据库表的项,c#,sql,C#,Sql,我有两个combobxes和datagridview,在第一个combobox中写入了我的数据库名称,当我选择任何数据库的名称时,在第二个combobox中出现该数据库表的名称。我需要当我选择任何表时,它必须在datagridview中显示该表的项。例如,我选择Suren_Products数据库,在第二个组合框中显示3个表的名称,从中选择products表,然后在datagridview中显示该表的项 但在这种情况下,无论我选择什么,在datagridview中,都只显示产品项。为什么 pub

我有两个combobxes和datagridview,在第一个combobox中写入了我的数据库名称,当我选择任何数据库的名称时,在第二个combobox中出现该数据库表的名称。我需要当我选择任何表时,它必须在datagridview中显示该表的项。例如,我选择Suren_Products数据库,在第二个组合框中显示3个表的名称,从中选择products表,然后在datagridview中显示该表的项

但在这种情况下,无论我选择什么,在datagridview中,都只显示产品项。为什么

 public partial class Form1 : Form
{
    Model db;
    public SqlConnection conn;
    public SqlDataAdapter adapter;
    public DataSet ds;
    string connStr = ConfigurationManager.ConnectionStrings["default"].ConnectionString;
    public Form1()
    {
        InitializeComponent();
        this.db = new Model();
        DataSet ds = db.Get_Databases();
        cb1.DataSource = ds.Tables[0];
        cb1.DisplayMember = "Database_Name";
    }

    private void cb1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string x = (cb1.SelectedItem as DataRowView).Row["Database_Name"].ToString();
        DataSet ds = cb1.SelectedItem as DataSet;
        ds = db.Get_Tables(x);
        cb2.DataSource = ds.Tables[0];
        cb2.DisplayMember = "name";

    }

    private void cb2_SelectedIndexChanged(object sender, EventArgs e)
    {
        conn = new SqlConnection(connStr);
        adapter = new SqlDataAdapter("select * from Products", connStr);
        ds = new DataSet();
        adapter.Fill(ds);
        dgv.DataSource = ds.Tables[0];
    }
}

因为select*from Products只选择Products表中的行。select*from+cb2.SELECTEDVALUE您应该执行select*from+cb2.TEXT它给出错误,表示无效的对象名System.Data.DataRowView。@Kevin用户必须设置cb2.ValueMember属性才能工作。