Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2011, 21:58   #1
sinj
программирователь
Пользователь
 
Аватар для sinj
 
Регистрация: 15.02.2009
Сообщений: 72
По умолчанию подключение к datagridview mysql базы данных

Доброго времени суток!

Такой вопрос:

есть форма. на ней есть кнопка и datagridview. Как вывести в datagridview результат: "select*from jour.bas" (БД jour, таблица bas).

Что было сделано:

Код:
        private void button3_Click(object sender, EventArgs e)
        {
            string CommandText = "select*from jour.bas";
            string Connect = "Database=jour;Data Source=localhost;User Id=root;Password=root";
            MySqlConnection myConnection = new MySqlConnection(Connect);
            MySqlCommand myCommand = new MySqlCommand(CommandText, myConnection);
            myConnection.Open(); 

            dataGridView1.DataSource = CommandText;
            myConnection.Close(); 
         }
собственно говоря спрашиваю, т.к. сам разобраться не смог. Спасибо за помощь.

использую коннектор mysql/net.
smile

Последний раз редактировалось sinj; 01.09.2011 в 22:07.
sinj вне форума Ответить с цитированием
Старый 01.09.2011, 22:04   #2
sinj
программирователь
Пользователь
 
Аватар для sinj
 
Регистрация: 15.02.2009
Сообщений: 72
По умолчанию

подключение к бд происходит. datagridview пустой...
smile

Последний раз редактировалось sinj; 01.09.2011 в 22:08.
sinj вне форума Ответить с цитированием
Старый 02.09.2011, 10:24   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Вот так необходимо сделать:
Код:
string CommandText = "select*from jour.bas";
string ConnectString = "Database=jour;Data Source=localhost;User Id=root;Password=root";
MySqlConnection myConnection = new MySqlConnection(ConnectString);
MySqlCommand myCommand = new MySqlCommand(CommandText, myConnection);
DataSet myDataSet= new DataSet()
MySQLDataAdaptor = new MySQLDataAdaptor();
MySQLDataAdaptor.Connection = myConnection;
MySQLDataAdaptor.Command = myCommand;
myConnection.Open(); 
MySQLDataAdaptor.Fill(myDataSet);
if (myDataSet.Tables.Count>0)
DataGridView.DataSource = myDataSet.Tables[0];
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 02.09.2011, 11:34   #4
sinj
программирователь
Пользователь
 
Аватар для sinj
 
Регистрация: 15.02.2009
Сообщений: 72
По умолчанию

Сделал иначе. Данные класса:
Код:
        string connStr = "server=localhost;user=root;password=root;database=jourl";
        private BindingSource bindingSorce = new BindingSource();
Собственно, сам метод нажатия на кнопку:
Код:
private void button3_Click(object sender, EventArgs e)
        {

            MySqlConnection coon = new MySqlConnection(connStr);
            MySqlCommand cmd = new MySqlCommand();
            cmd.Connection = coon;
            cmd.CommandText = "SELECT * FROM jour.bas";
            MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
            DataSet dataset = new DataSet();
            adapter.Fill(dataset);
            bindingSorce.DataSource = dataset.Tables[0];
            dataGridView1.DataSource = bindingSorce;
            coon.Close();
        }
Такой вопрос: какой из способов лучше? Читал, что лучше всего работать через .net коннектор с оф.сайта mysql. Задача - есть БД, структура которой никогда не изменяется. Нужно много разных клиентских приложений, которые будут делаться постоянно. Хотелось бы узнать, какая технология доступа к данным будет лучше и надежнее.
smile
sinj вне форума Ответить с цитированием
Старый 02.09.2011, 12:12   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от sinj Посмотреть сообщение
Такой вопрос: какой из способов лучше? Читал, что лучше всего работать через .net коннектор с оф.сайта mysql. Задача - есть БД, структура которой никогда не изменяется. Нужно много разных клиентских приложений, которые будут делаться постоянно. Хотелось бы узнать, какая технология доступа к данным будет лучше и надежнее.
От Вашего BindingSource в данном случае толку никакого. Лишний узел для передачи таблицы. Ну в общем то дело Ваше.

По поводу "лучше", а кто сказал что .net коненктор лучше??? Просто с ним удобнее всего работать. Вообще нету никакой разницы в адапторах. SQL один для всех. В любом случае все запросы вы будете делать через него.
А других способов подключения к базе данных кроме указанныго я не знаю, подскажите если кто найдет.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 02.09.2011, 21:16   #6
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

Цитата:
От Вашего BindingSource в данном случае толку никакого.
А если понадобится делать фильтрацию?
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
Петррр вне форума Ответить с цитированием
Старый 04.09.2011, 16:17   #7
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Петррр Посмотреть сообщение
А если понадобится делать фильтрацию?
Сделать указанный датасет глобальным. У него есть свойство RowFilter.
Очень удобная и быстрая штука. Задаете параметр и фильтруете всю таблицу.
У меня на не очень мощном компе 59000 записей в одной таблице связаны с 137000 записями в дочерней таблице. Значение фильтра (фамилия) вводиться вручную, таблицы сортируются по первому вхождению набранного текста. Скорость просто ошеломительная. Так что советую.

Пример:
Код:
DataView dv = Tab.DefaultView;
string filter = null;
if (textBox1.Text.Trim() != "") filter = "DFam LIKE '" + textBox1.Text.Trim() + "*'";
dv.RowFilter = filter;
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 18.03.2012, 17:29   #8
Программер Михаил
Пользователь
 
Регистрация: 07.12.2010
Сообщений: 16
По умолчанию

А можете, пожалуйста, написать все тоже самое только на с++???
Программер Михаил вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение базы данных программно doniyor БД в Delphi 5 17.04.2012 09:41
Подойдет ли MySQL для организации базы данных Аватар Софт 1 18.04.2011 03:17
Получить список пользователей базы данных. MySQL vedro-compota SQL, базы данных 3 22.09.2010 13:23
Подключение базы данных с помощью ADO ptsmore БД в Delphi 5 13.07.2009 14:24
Открытие(подключение) уже существующей базы данных MS Access через ADO Moel БД в Delphi 7 24.10.2007 16:57