MySqlDataAdapter不填充DataTable

时间:2019-04-22 19:27:38

标签: c# mysql asp.net datatable

我想从MySql查询中填充一个DataTable对象,并使用DataGrid显示。我的代码的显示部分运行良好(它显示了一个自定义的DataTable)。某种程度上,DataTable填充方法对我不起作用(我从stackoverflow复制了它)。

如果我使用此功能从List填充DataTable效果很好

DataTable t = ConvertToDataTable(userlist);

public DataTable ConvertToDataTable<T>(IList<T> data)
    {
        PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T));
        DataTable table = new DataTable();
        foreach (PropertyDescriptor prop in properties)
            table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
        foreach (T item in data)
        {
            DataRow row = table.NewRow();
            foreach (PropertyDescriptor prop in properties)
                row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
            table.Rows.Add(row);
        }
        return table;

    }

在其他人的解决方案之下,对我而言不起作用。我认为表格为空。

            string searchQuery = "SELECT * FROM USERS";
            MySqlCommand command = new MySqlCommand(searchQuery, connection);
            MySqlDataAdapter adapter = new MySqlDataAdapter(command);
            DataTable table = new DataTable();
            adapter.Fill(table);
            GridView1.DataSource = table;
            this.GridView1.DataBind();

我还附加了我的MySQL数据库样本值。 它不填充DataGrid,不显示任何值。有提示吗?

MySQL DataBase sample values

0 个答案:

没有答案