Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
ivleb
1 / 1 / 1
Регистрация: 12.12.2013
Сообщений: 95
1

Получение данных в DataGridView из MySQL

07.07.2015, 08:47. Просмотров 715. Ответов 2
Метки нет (Все метки)

Всем доброго времени суток. Задался задачей получать данных в DataGridView из баз MySQL. Столкнулся с проблемой, что при получении данных таблица принимает свою форму (т.е. пересоздает столбцы), хотя форма уже готова. Ну поковырявшись немного накидал такой код

C#
1
2
3
4
5
6
7
8
9
            MySqlLib.MySqlData.MySqlExecuteData.MyResultData result = new MySqlLib.MySqlData.MySqlExecuteData.MyResultData();
            result = MySqlLib.MySqlData.MySqlExecuteData.SqlReturnDataset("SELECT id, surname ,name ,patronymic ,age ,address ,phone ,ParentsPhone ,birthday ,groupz FROM pupils", "Database=" + cfg.Read("DataBaseConnection", "DBName") + ";Data Source=" + cfg.Read("DataBaseConnection", "Host") + ";User Id=" + cfg.Read("DataBaseConnection", "Name") + ";Password=" + cfg.Read("DataBaseConnection", "Password"));
            
            if (result.ResultData.DefaultView.Table.Rows.Count > 0)
            {
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    dataGridView1.Rows.Add(0, result.ResultData.DefaultView.Table.Rows[i]["id"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["surname"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["name"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["patronymic"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["age"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["address"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["phone"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["ParentsPhone"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["birthday"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["groupz"].ToString());
                }
Выглядит порнографически, но он работает частично. т.е. если убрать
C#
1
2
3
 for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                }
и изменить [I] на [0], то он заполнит первую строку. Подскажите может я в чем не прав? Заранее спасибо за помощь
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2015, 08:47
Ответы с готовыми решениями:

Получение данных от SQL сервера и отображение данных в DataGridView
Подскажите, пожалуйста, как в шарпе вытащить данные из локальной sql базы данных(саму базу создано...

Получение данных сервером от БД и отображение данных в клиенте DataGridView
Подскажите пожалуйста, как в C# полученные данные сервером из Базы данных(sqlite) передать клиенту...

Изменение данных в datagridview Mysql
Как реализовать изменение и удаление данных в datagridview? Помогите пожалуйста, может у кого...

Загрузка базы данных из MySQL в DataGridView
Хотел загрузить базу данных ....вроде все делал как надо ... но почему-то выходит вот такая ошибка...

MySQL datagridview добавление данных в БД только кнопкой
Здравствуйте, уважаемые. Вывожу таблицу из БД в datagridview.Разрешено редактирование, добавление...

2
sashatref
76 / 76 / 29
Регистрация: 21.05.2015
Сообщений: 257
Завершенные тесты: 1
07.07.2015, 08:52 2
по логике нужно делать:
C#
1
2
3
4
for (int i = 0; i < result.ResultData.DefaultView.Table.Rows.Count; i++)
{
     dataGridView1.Rows.Add(0, result.ResultData.DefaultView.Table.Rows[i]["id"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["surname"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["name"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["patronymic"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["age"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["address"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["phone"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["ParentsPhone"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["birthday"].ToString(), result.ResultData.DefaultView.Table.Rows[i]["groupz"].ToString());
}
0
SMTGroup
0 / 0 / 1
Регистрация: 29.10.2012
Сообщений: 6
07.07.2015, 09:07 3
Используйте DataSource - намного удобнее и эффективнее! MSDN

C#
1
dataGridView1.DataSource = result;
Можно перед загрузкой добавить в грид columns и назначить каждой DataPropertyName.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2015, 09:07

Добавление записи из Datagridview в базу данных mysql
Друзья, хочу добавить данные с датагрида в базу данных но выдает ошибку ссылка на объект не...

Вставка и изменение данных выводимых в DataGridView из удаленной MySQL БД
Есть несколько моментов которые вызывают ступор в логике и реализации. Пишу что-то типа...

Получение данных с dataGridView
Всем привет помогите получить данные с dataGridView1, допустим если я нажал на таблице на строку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru