Си шарп базы данных

В примере «Продажа билетов в кинотеатре» для задания структуры БД (фактически одной таблицы) была использована СУБД MS Access. В этом примере мы создадим БД Garage только средствами Visual Studio 2017 Community. Эту БД далее будем использовать для создания приложений, иллюстрирующих технологию ADO.NET.

Постановка задачи

Автотранспортное предприятие имеет некоторый набор автобусов, микроавтобусов и других автомобилей для оказания услуг по перевозке пассажиров по заданным маршрутам и разовым заявкам. На предприятии имеется штат водителей, способных осуществлять эти перевозки. Требуется представить закрепление за маршрутами и разовыми перевозками водителей и транспортных средств.

Решение задачи

Структура БД

Присвоим имя БД — Garage («Гараж»). Используем реляционную модель БД (для простоты). Выделим три сущности, поставив им в соответствие таблицы: «Автомобили» — Cars, «Водители» — Drivers, «Маршруты» — Routes. Каждая таблица имеет минимум четыре поля.
Cars (IDcar, Typecar, LICplate, Npass), где IDcar — ключевое поле, Typecar — марка автомобиля/автобуса, LICplate — госномер, Npass — число пассажиров;
Drivers (IDdr, Name, Rights, Work), где IDdr — ключевое поле, Name — Фамилия/имя, Rights — категория прав, Work — работает/выходной (True/False);
Routes (IDrout, Number, IDcar, IDdr), где IDrout — ключевое поле, Number — номер маршрута или заявки, IDcar, IDdr — внешние ключи (для связи с Cars и Drivers).

Размещение БД

Чтобы приступить к созданию БД, запустите Visual Studio Community 2017 и откройте Обозреватель объектов SQL Server через меню View (Просмотр). Примечание. Запустив Visual Studio Installer, проверьте в Рабочих нагрузках наличие как минимум двух сборок «Разработка классических приложений .NET» и «Хранение и обработка данных» (3.96 Гб).

Затем щелкните правой кнопкой мыши на узле SQL Server выберите первую позицию «Добавить SQL Server … «. В открывшемся диалоговом окне «Подключиться» выберите «Локально» и укажите имя сервера (localdb)MSSQLLocalDB. Проверку подлинности, пароль и имя базы данных не заполняйте, имя пользователя оставьте как Администратор.

Для сервера выберите позицию «Базы данных» и кликните по ней правой кнопкой мыши. Выберите «Добавить новую базу данных». В окне «Создание базы данных» задайте имя БД — Garage, а так же можете изменить ее местонахождение, например на «D:\___DB». Там должны появиться файлы Garage.mdf и Garage.ldf. После чего свойства нашей БД примут следующие значения:
Сервер: (localdb)MSSQLLocalDB
Строка подключения: Data Source=(localdb)MSSQLLocalDB;Initial Catalog=Garage;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
Файл данных: D:\___DBGarage.mdf

Создание структуры таблиц

Для БД Garage добавьте новую таблицу (клик на кнопке Таблицы, Добавить новую …). Появится закладка db0.Table [Конструктор]

Читайте также:  Сложные формулы в ворде примеры

Видим два взаимосвязанных окна: Design и T-SQL. Отметим, что разновидность языка SQL — T-SQL (Transact-SQL) применяется в SQL Server. В окне T-SQL вместо Table укажем имя первой таблицы — Cars. В окне Design добавьте необходимые поля, указав тип данных и допустимые значения. Например, вот так:

Нажмите кнопку «Обновить» и в Окне предварительного просмотра нажмите кнопку «Обновить базу данных». Таким образом структура первой таблицы задана.

Аналогично создадим структуру таблиц Drivers:

Структура таблиц задана.

Заполнение таблиц данными

Для заполнения каждой из таблиц данными откройте каждую из них в режиме «Просмотр данных», например, для таблицы Cars:

Заметим, что введенные данные сохраняются в БД автоматически после закрытия закладки dbo.Имя [Данные].

Нет, безусловно, как и у любого «высокообразованного технаря», в университете у меня были курсы по программированию, где обучали в том числе и вышеобозначенному языку. Кстати, данный факт в резюме и привёл моего начальника со своей просьбой. Что ж, делать нечего, отбросив страх и лень, пришлось взяться за дело. Если вы никогда не кодили на C#, приглашаем вас пройти наш бесплатный интенсив по C# для новичков.

Берёмся за дело

Прежде всего, необходим бесплатный дистрибутив. Приложение нам необходимо для личного пользования, поэтому можно смело идти на официальный сайт Visual Studio Community и запускать процесс скачивания. Почему именно VS, а не более простое решение? Если вкратце, то это большие возможности по развитию, графическому и программному. Пока идёт долгий процесс скачивания и установки, освежаем знания. Основы C# или VS здесь описываться не будут. Просто допустим, что любой человек хоть немного изучавший программирование, прекрасно знает циклы, функции и операторы. Со структурой среды программирования можно разобраться просто скачав один из примеров на сайте разработчика и внимательно его изучив.

Мой же краткий план таков – на первом этапе пишем приложение, которое создаёт базу данных сотрудников и записывает её в формат XML. На втором этапе позаботимся о начальниках, подумав об извлечении информации с использованием различных фильтров. Чтобы немного усложнить конечную задачу, я решил поэкспериментировать с различными подходами – работа с БД напрямую и через коллекции.

В остальном, задача предельно ясна, поэтому можно приступать. Создадим пустой XML файл с требуемой структурой с использованием обыкновенного блокнота:

Заходим непосредственно в Visual Studio и приступаем к самому простому и приятному – созданию нашей формы:

Далее прямо в инициализации формы создадим объекты директории, файла и данных:

Далее привяжем наш XML файл к проекту и загрузим из него данные:

Осталось мелочь – по нажатию кнопки ОК организовать проверку заполнения полей и сохранение данных в созданный файл:

Найдём максимальный ID в нашей таблице, чтобы создать следующий элемент:

Создаем новую строку для нашей таблицы:

И добавляем в неё полученные данные:

Для организации таблицы, извлечём системное время:

Читайте также:  Раздача карт в покере

Вот, кажется, и всё. Сохраняем данные и перезагружаем файл:

Переходим ко второму этапу. Создаём форму с фильтрами, где поочерёдно структура таблицы будет представлена в формате ListBox-ов. Форма выглядит следующим образом:

Переходим к созданию нашего списка внутри программы. Создаём класс и инициализируем его:

Загружаем данные внутрь программных данных:

Теперь переходим непосредственно к фильтрам. Первый столбец (номинально второй) загружаем полностью.

После чего переходим к фильтрации при обработке изменения выбранного в ListBox:

Послесловие

И далее по аналогии до бесконечности, пока последний запрос не выведет необходимые руководителю поля.
После некоторых доработок и отладок результат был достигнут, а торжественное «Спасибо» – произнесено. Злой рок судьбы теперь каждое утро сталкивает меня и моих коллег с первой частью результатов моего труда и постепенно наводит на размышление, которое я адресую дорогому читателю – а можно ли было сделать лучше и, что самое главное, проще?

Кстати, освоить разработку под Windows можно, обучаясь на профессии «Программист Windows».

Предыстория

Буквально пару недель назад мой начальник обратился ко мне с просьбой – создать простое приложение на C# для регистрации задач и проектов сотрудников нашего отдела. Ничего сложного, стандартная форма с текстовыми полями и кнопками, по заполнению которых в некоторый файл на сервере добавляется строка с введёнными данными. Дополнительное приложение позволяет контролирующему органу извлекать из файла эту информацию, фильтровать и использовать в дальнейшем планировании. Казалось бы, что может быть проще. В этой истории лишь одна загвоздка. Я никогда не работал на C#.

Нет, безусловно, как и у любого «высокообразованного технаря», в университете у меня были курсы по программированию, где обучали в том числе и вышеобозначенному языку. Кстати, данный факт в резюме и привёл моего начальника со своей просьбой. Что ж, делать нечего, отбросив страх и лень, пришлось взяться за дело. Если вы никогда не кодили на C#, приглашаем вас пройти наш бесплатный интенсив по C# для новичков.

Берёмся за дело

Прежде всего, необходим бесплатный дистрибутив. Приложение нам необходимо для личного пользования, поэтому можно смело идти на официальный сайт Visual Studio Community и запускать процесс скачивания. Почему именно VS, а не более простое решение? Если вкратце, то это большие возможности по развитию, графическому и программному. Пока идёт долгий процесс скачивания и установки, освежаем знания. Основы C# или VS здесь описываться не будут. Просто допустим, что любой человек хоть немного изучавший программирование, прекрасно знает циклы, функции и операторы. Со структурой среды программирования можно разобраться просто скачав один из примеров на сайте разработчика и внимательно его изучив.

Мой же краткий план таков – на первом этапе пишем приложение, которое создаёт базу данных сотрудников и записывает её в формат XML. На втором этапе позаботимся о начальниках, подумав об извлечении информации с использованием различных фильтров. Чтобы немного усложнить конечную задачу, я решил поэкспериментировать с различными подходами – работа с БД напрямую и через коллекции.

Читайте также:  Прошивка для jinga basco neo 1

В остальном, задача предельно ясна, поэтому можно приступать. Создадим пустой XML файл с требуемой структурой с использованием обыкновенного блокнота:

Заходим непосредственно в Visual Studio и приступаем к самому простому и приятному – созданию нашей формы:

Далее прямо в инициализации формы создадим объекты директории, файла и данных:

Далее привяжем наш XML файл к проекту и загрузим из него данные:

Осталось мелочь – по нажатию кнопки ОК организовать проверку заполнения полей и сохранение данных в созданный файл:

Найдём максимальный ID в нашей таблице, чтобы создать следующий элемент:

Создаем новую строку для нашей таблицы:

И добавляем в неё полученные данные:

Для организации таблицы, извлечём системное время:

Вот, кажется, и всё. Сохраняем данные и перезагружаем файл:

Переходим ко второму этапу. Создаём форму с фильтрами, где поочерёдно структура таблицы будет представлена в формате ListBox-ов. Форма выглядит следующим образом:

Переходим к созданию нашего списка внутри программы. Создаём класс и инициализируем его:

Загружаем данные внутрь программных данных:

Теперь переходим непосредственно к фильтрам. Первый столбец (номинально второй) загружаем полностью.

После чего переходим к фильтрации при обработке изменения выбранного в ListBox:

Послесловие

И далее по аналогии до бесконечности, пока последний запрос не выведет необходимые руководителю поля.
После некоторых доработок и отладок результат был достигнут, а торжественное «Спасибо» – произнесено. Злой рок судьбы теперь каждое утро сталкивает меня и моих коллег с первой частью результатов моего труда и постепенно наводит на размышление, которое я адресую дорогому читателю – а можно ли было сделать лучше и, что самое главное, проще?

Кстати, освоить разработку под Windows можно, обучаясь на профессии «Программист Windows».

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

MySQL и C# – работаем с базой данных. Запросы SELECT

В видеоуроке рассмотрим работу с базой данных MySQL на примере SELECT-запросов из программы, написанной на языке программирования C#. В статье вы найдёте исходные коды примеров из видео.

В видео показано выполнение запросов выборки (SELECT) к БД с помощью C#. Рассказывается про получение, как одного значения из базы, так и нескольких столбцов и строк.

Исходный код примера с получением одного значения из базы с помощью метода ExecuteScalar():

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>