Я хотел бы заполнить объект DataTable из запроса MySql и отобразить с помощью DataGrid.Часть отображения моего кода работает хорошо (показывает пользовательский DataTable).Каким-то образом метод заполнения DataTable не будет работать для меня (я скопировал его из stackoverflow).
Если я заполняю 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, не показывает значений.Любые советы?