В видеоуроке рассмотрим работу с базой данных MySQL на примере SELECT-запросов из программы, написанной на языке программирования C#. В статье вы найдёте исходные коды примеров из видео.
В видео показано выполнение запросов выборки (SELECT) к БД с помощью C#. Рассказывается про получение, как одного значения из базы, так и нескольких столбцов и строк.
Исходный код примера с получением одного значения из базы с помощью метода ExecuteScalar():
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using MySql.Data.MySqlClient; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { // строка подключения к БД string connStr = "server=localhost;user=root;database=people;password=0000;"; // создаём объект для подключения к БД MySqlConnection conn = new MySqlConnection(connStr); // устанавливаем соединение с БД conn.Open(); // запрос string sql = "SELECT name FROM men WHERE id = 2"; // объект для выполнения SQL-запроса MySqlCommand command = new MySqlCommand(sql, conn); // выполняем запрос и получаем ответ string name = command.ExecuteScalar().ToString(); // выводим ответ в консоль Console.WriteLine(name); // закрываем соединение с БД conn.Close(); } } } |
Ниже представлен исходный код, использующийся для получения нескольких строк и нескольких столбцов из базы данных с помощью MySqlDataReader.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using MySql.Data.MySqlClient; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { // строка подключения к БД string connStr = "server=localhost;user=root;database=people;password=0000;"; // создаём объект для подключения к БД MySqlConnection conn = new MySqlConnection(connStr); // устанавливаем соединение с БД conn.Open(); // запрос string sql = "SELECT id, name FROM men WHERE age = 22"; // объект для выполнения SQL-запроса MySqlCommand command = new MySqlCommand(sql, conn); // объект для чтения ответа сервера MySqlDataReader reader = command.ExecuteReader(); // читаем результат while (reader.Read()) { // элементы массива [] - это значения столбцов из запроса SELECT Console.WriteLine(reader[0].ToString() + " " + reader[1].ToString()); } reader.Close(); // закрываем reader // закрываем соединение с БД conn.Close(); } } } |
Продолжение темы:
Выполнение запросов модификации данных в MySQL на C#: INSERT, UPDATE и DELETE
Поделиться в соц. сетях:
Большое спасибо. Очень полезно и доходчиво, сама суть без всего лишнего.
в строке 35 написано conn.Clone();, вместо conn.Close();
Спасибо! Исправили.
Подскажите , есть такой же урок только для приложения Windows Forms?
Там все то же самое по сути. Или Вас интересует вывод данных в определенный элемент управления?
Меня интересует такой запрос к БД на Access, и выводом к примеру на ТекстБокс.
Весь процесс подобный. Различия для MS Access:
Используется пространство имен:
using System.Data.OleDb
Строка подключения к БД:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=НАЗВАНИЕ_ФАЙЛА.mdb
или
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=НАЗВАНИЕ_ФАЙЛА.mdb
Классы:
OleDbConnection, OleDbCommand, OleDbDataReader
Спасибо. Единственный в интернете толковый материал, с рабочими примерами кода.
Кстати, примеры подходят не только для MySQL, они работают и с базами MSSqlServer.
Если заменить команду MySqlConnection на команду SqlConnection — все работает в базах MSSqlServer.