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