我用SQL Server建立了一个名为Information的数据库,里边有s1,s2,s3,s4四张表,我在C# windows窗体中制作了一个MenuStrip菜单,里边有一个打开选项,我想在C#窗体中再添加一个ListBox和DataGridView,在菜单中单击打开选项,显示一个打开对话框,可以选择数据库的名字(比如:Information),选择后则在ListBox中显示该数据库中所有表的名字(如s1,s2,s3,s4,这四张表的名字),在ListBox中单击表的名字(比如s1),则在DataGridView中显示表中的数据内容。
PS:请各位前辈给我详细的代码和说明,小弟初学C#,有些东西还不是很明白,最好给小弟点截图,方便理解,我会追加分数的,谢谢给我前辈了

解决方案 »

  1.   

    绑定数据库?我也看不太懂.但是思路应该是这样的在LISTBOX中的ITEMS中直接加入你那4个表名,在选择任何一个表的时候,执行GRIDVIEW数据绑定.我写一个简单一点的方法就是绑定GRIDVIEW的方法:
    public void Bind(string sql)
    {
    sqlconnection conn = new sqlconnection();
    conn=@"";
    conn.open();
    sqldataAdpater da=new sqldataAdpater(sql,conn)
    Dataset ds=new Dataset();
    da.fill(ds);
    GridView.datasource=ds;
    GridView.databind(); 
    }
      

  2.   

    我给你做了一个例子,一个窗体,上面有一个文本框,一个按钮,一个listbox,一个datagridview,在文本框里输入数据库名,点击按钮,把所有表名绑定在listbox上,然后点击listbox上一个表,把这个表的数据绑定到datagridview上,应该是你要的效果吧private void button1_Click(object sender, EventArgs e)
            {
                DataSet ds = ReturnDataSet(textBox1.Text.Trim(), "select name from sysobjects where xtype='u'");            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    ListItem li = new ListItem(ds.Tables[0].Rows[i]["name"].ToString(), ds.Tables[0].Rows[i]["name"].ToString());
                    this.listBox1.Items.Add(li);
                }         }        public DataSet ReturnDataSet(string name,string sql)
            {
                SqlConnection conn = new SqlConnection();
                conn.ConnectionString = "Password=sa2005;Persist Security Info=True;User ID=sa;Initial Catalog=" + name + ";Data Source=192.168.0.100";
                conn.Open();
                DataSet ds = new DataSet();
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = new SqlCommand();
                da.SelectCommand.Connection = conn;
                da.SelectCommand.CommandType = CommandType.Text;
                da.SelectCommand.CommandText = sql;
                da.Fill(ds, "table");
                conn.Close();
                return ds;
            }        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                string sql = "select * from " + listBox1.SelectedItem.ToString();
                DataSet ds = ReturnDataSet(textBox1.Text.Trim(), sql);
                dataGridView1.DataSource = ds.Tables[0];
            }