【问题标题】:Trying to put SHOW DATABASES to a combobox in C# gives me list of System.Data.DataRowView尝试将 SHOW DATABASES 放入 C# 中的组合框给了我 System.Data.DataRowView 的列表
【发布时间】:2016-02-14 11:29:21
【问题描述】:

我试图将数据库列表从 mySQL 服务器放入 C# 中的组合框。当我点击一个按钮来填充它时,它给了我“System.Data.DataRowView”的列表 而不是价值观。

你能告诉我我做错了什么吗?

这里是源代码:

MySqlConnection conn = new MySqlConnection("server=servname;uid=" + this.login.Text + ";pwd=" + password.Text + ";");
                MySqlDataAdapter mda = new MySqlDataAdapter("SHOW DATABASES;", conn);

            conn.Open();
            DataSet ds = new DataSet();
            mda.Fill(ds, "box");
            this.dataBase.DataSource = ds.Tables["box"];

【问题讨论】:

    标签: c# mysql database combobox show


    【解决方案1】:

    您需要将 Combobox 的 .DisplayMember 属性设置为 DataRowView 的一个字段。 DataRowView 是整个行对象,DisplayMember 允许您指定要在该对象中显示的内容。

    【讨论】:

    • 感谢您这么快的答复!你能给我解释一下吗?我只是一个初学者,由于显示数据库查询只返回一个列,我不知道如何正确设置 DisplayMember ......我应该将它绑定到女巫列。
    • 当然,首先,返回的列名是什么。
    • 它被命名为数据库,刚刚在 MySQL Front 中看到它......我只是不确定我应该在哪个地方将它绑定到组合框(命名数据库)。
    • 那么您应该可以添加this.dataBase.DisplayMember = "Database"; 并从组合框中的数据行中查看实际值。
    猜你喜欢
    • 1970-01-01
    • 2013-07-07
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    相关资源
    最近更新 更多