DataGridView не показывает данные из таблицы MySQL - PullRequest
0 голосов
/ 18 февраля 2019

Я начал изучать работу с 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());

1 Ответ

0 голосов
/ 02 марта 2019

Я только начал новый проект и скопировал код.Сработало как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...