Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 18.04.2012, 16:16   #1
RADEM
Пользователь
 
Регистрация: 18.04.2012
Сообщений: 35
По умолчанию Соединение с MySQL

Доброго времени суток! Подскажите, пожалуйста, по такому вопросу:
есть локальная сеть, есть сервер, на котором есть база данных.
Необходимо создать приложение, одной из функций которой будет подключение к базе данных и загрузка необходимых данных в массив.
Как это сделать? Работаю в Visual Studio 2010. В этом новичок, поэтому сильно не пинайте, если что не так.
В инете искал, но что-то у меня не получается сделать подключение к базе данных.
RADEM вне форума Ответить с цитированием
Старый 18.04.2012, 16:25   #2
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

коннектор уже скачали? http://dev.mysql.com/downloads/connector/net/
=master= вне форума Ответить с цитированием
Старый 18.04.2012, 16:58   #3
RADEM
Пользователь
 
Регистрация: 18.04.2012
Сообщений: 35
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
коннектор уже скачали? http://dev.mysql.com/downloads/connector/net/
Да, коннектор скачал. Через Data Source создал подключение к базе данных, выбрал таблицы. А что дальше, как брать данные из таблиц?
RADEM вне форума Ответить с цитированием
Старый 18.04.2012, 17:45   #4
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

А дальше запросы писать надо.
=master= вне форума Ответить с цитированием
Старый 18.04.2012, 17:50   #5
RADEM
Пользователь
 
Регистрация: 18.04.2012
Сообщений: 35
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
А дальше запросы писать надо.
))это понятно, но как.
как в коде прописать, что данные из базы берутся по такому-то запросу и после получение делается то-то, в моем случае - записываются в массив.
Я искал, но не смог найти примера такого.
Не можете подсказать на примере как сделать это?
RADEM вне форума Ответить с цитированием
Старый 18.04.2012, 18:33   #6
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Да ну что вы, в сети сэмплов гора:
https://www.google.com/#hl=en&sclien...dde9ef63fc52e6

вот первая же ссылка, с картинками:
http://zetcode.com/db/mysqlcsharptutorial/
=master= вне форума Ответить с цитированием
Старый 18.04.2012, 22:04   #7
RADEM
Пользователь
 
Регистрация: 18.04.2012
Сообщений: 35
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
Да ну что вы, в сети сэмплов гора:
https://www.google.com/#hl=en&sclien...dde9ef63fc52e6

вот первая же ссылка, с картинками:
http://zetcode.com/db/mysqlcsharptutorial/
Спасибо! Завтра попробую.
RADEM вне форума Ответить с цитированием
Старый 19.04.2012, 10:40   #8
RADEM
Пользователь
 
Регистрация: 18.04.2012
Сообщений: 35
По умолчанию

воспользовался примером по подсказанной сссылке http://bitdaddys.com/MySQL-ConnectorNet.html
все работает, все зер гут!!! спасибо, камрад =master=
RADEM вне форума Ответить с цитированием
Старый 19.04.2012, 21:25   #9
RADEM
Пользователь
 
Регистрация: 18.04.2012
Сообщений: 35
По умолчанию

Блин, все работает, но только если запрос пишу такой:
"SELECT * FROM nametable", в таком случае в ListBox-e отображаются все записи из таблицы и Reader.FieldCount равен количеству записей, а вот если я пишу такой запрос "SELECT name1 FROM nametable WHERE name2 BETWEEN 'value1' AND 'value2'", то в ListBox-e отображается только одна запись и Reader.FieldCount равен 1. Запрос рабочий и в phpMyAdmin работает, а вот в проге что-то не хочет.
В чем может быть причина?
код у меня такой:
Код:
private void button1_Click(object sender, System.EventArgs e){
string MyConString = "SERVER=localhost;" +
"DATABASE=mydatabase;" +	
"UID=testuser;" +"PASSWORD=testpassword;";
MySqlConnection connection = new MySqlConnection(MyConString);
 MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = "select * from mycustomers";
connection.Open();
Reader = command.ExecuteReader();
if (Reader.Read() == true){
string thisrow = "";
for (int i= 0;i<Reader.FieldCount;i++){
thisrow+=Reader.GetValue(i).ToString() + ",";
listBox1.Items.Add(thisrow);
}
connection.Close();
}
}
в примере я заменил while на if так как компилятор ошибку выдавал.
сегодня мучился понять и найти косяк, но так и не нашел. В чем ошибка может быть? использую приведенный код в обработчике кнопки в wpf приложении.

Последний раз редактировалось RADEM; 19.04.2012 в 21:28. Причина: редактирование визульного отображения кода
RADEM вне форума Ответить с цитированием
Старый 19.04.2012, 23:45   #10
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Так а что не так?
SELECT name1 FROM nametable, филд вы выбираететолько один, соответственно и "Reader.FieldCount равен 1".
Ну а про кол-во записей трудно сказать незная что и как увас.
=master= вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Соединение программы с удаленной mysql базой Dominatorsha Общие вопросы Delphi 11 15.12.2010 14:31
соединение с базой MySQL по IP uraura БД в Delphi 3 26.10.2010 10:31
Соединение и выборкак из базы MySql сервера magsim БД в Delphi 1 17.01.2010 13:27
Соединение с MySQL FlorentOFF БД в Delphi 3 09.01.2010 23:47
Соединение с сервером MySQL Amen PHP 3 19.09.2009 21:21