Я начал изучать работу с MySQL в C #, я застрял с загрузкой данных из таблицы в DataGridView, независимо от того, что я делаю пустым, когда я запускаю программу.
Я смотрел несколько потоков и видео YouTube оэта проблема, пробовал разными способами ни один не работал.Я попытался dataGridView1.AutoGenerateColumns = true, он все еще был пустым, и попытался добавить столбцы с помощью конструктора и изменить их dataPropertyName на имя столбцов таблицы, и он показал только 2 из 6 столбцов, которые я добавил.Когда я пытаюсь проверить число bs после подключения его источника данных к таблице, он показывает 9 строк (это столько, сколько у меня в таблице MySQL), а datagridview.RowCount показывает 10.
http://prntscr.com/mmqeb9 Это таблицавзгляд дизайнера
http://prntscr.com/mmqerp Вот как выглядит таблица после того, как я ее запустил
http://prntscr.com/mmqf1t Это таблица MySQL
РЕДАКТИРОВАТЬ:
prntscr.com / mmqvhw Я не уверен, что это что-то, но когда я посмотрел результаты строк, которые находятся в Binding Source bs, я обнаружил, что ItemArray - это индекс 6, а в строке должно быть 5. Показывает ли DVG6-й индекс, который пуст, и поэтому он показывает черный DVG
РЕДАКТИРОВАТЬ 2: После добавления этой глупой строки кода MessageBox.Show (Convert.ToInt32 (bs [0]). ToString ()), который пытаетсячтобы показать данные bs, я получаю InvalidCastException и после того, как эта таблица будет полностью показана http://prntscr.com/mmrfw7
Я понятия не имею, что я делаю в этот момент, я перепробовал все, любая помощь будет оценена
Этоявляется частью кода, который предполагается тo заполнить таблицу данных:
MySqlDataAdapter adapter = new MySqlDataAdapter();
MySqlCommand cmd;
DataSet ds = new DataSet();
BindingSource bs = new BindingSource();
string strcmd = "SELECT * FROM lek;";
cmd = new MySqlCommand(strcmd, connection);
connection.Open();
//adapter
adapter.SelectCommand = cmd;
adapter.Fill(ds);
bs.DataSource = ds.Tables[0];
//datagridview
dataGridView1.AutoGenerateColumns = true;
MessageBox.Show(bs.Count.ToString());
dataGridView1.DataSource = bs;
MessageBox.Show(dataGridView1.RowCount.ToString());