Массивы. 1 ПР.. Работа с базой данных Создание базы данных в Visual Studio 2019 Откройте Обозреватель серверов в меню Вид (View)
![]()
|
Работа с базой данных Создание базы данных в Visual Studio 2019 Откройте Обозреватель серверов в меню Вид (View) или комбинацией клавиш ![]() Подключитесь к базе данных: ![]() Выберите источник данных и введите имя файла базы данных: Создайте папку и введите имя базы данных, например, test: ![]() Добавьте подключение: ![]() Сделайте щелчок правой кнопкой мыши по элементу Таблицы (Tables) и выберите пункт Добавить новую таблицу (Add New Table): ![]() Заполните форму: введите имена полей таблицы, тип данных: ![]() Установите курсор на первом столбце и в нижней части экрана в Свойстве столбца установите Спецификацию идентификатора – задайте «true»: ![]() Обратите внимание, что столбец Id определён как первичный ключ: ![]() Сохраните таблицу, задайте имя: ![]() Обновите базу данных: ![]() Нажмите кнопку Обновить в Обозревателе серверов: ![]() Выполните аналогичные действия для создания таблицы Tovar. Заполните форму: введите имена полей таблицы, тип данных. Установите курсор на первом столбце и в нижней части экрана в Свойстве столбца установите Спецификацию идентификатора – задайте «true». Введите имя таблицы. ![]() Нажмите Обновить в конструкторе, затем нажмите Обновить в Обозревателе серверов. Сделайте щелчок правой кнопкой мыши по имени таблицы VidTovara'>VidTovara и выберите пункт Показать таблицу данных (Show Table Data): Заполните таблицу данными: ![]() Обратите внимание на первый столбец – он должен выводиться серым цветом, и числа должны заполняться автоматически. Если это не так, то вы забыли установить идентифицирующий столбец при создании таблицы! Выполните аналогичные действия для таблицы Tovar: ![]() Внимание! В третий столбец нужно указывать число, являющееся ключом соответствующего вида из таблицы VidTovara. Соединение с базой и чтение данных Задача. Установить соединение с базой данных и создать простой запрос к ней. Решение. Работа с большинством баз данных сводится к следующим шагам: Создать соединение с помощью строки соединения. Выдать команду в соответствии с синтаксисом SQL. Выполнить команду через соединение и, возможно, получить данные. Создайте проект, выберите C# Консольное приложение (.NET Framework): ![]() Подключите пространство имен System.Data.SqlClient Соединение с SQL Server Выделите в Обозревателе базу данных: ![]() Скопируйте из окна Свойства данные Строки подключения: ![]() Введите программный код, вставив после return @" в методе GetConnectionString() скопированную строку подключения, удалив внутренние кавычки. Выборка данных из таблицы ![]() Данный код выведет следующие результаты: ![]() С помощью метода reader.Read() ридер переходит к следующей строке и возвращает булевое значение, которое указывает, есть ли данные для считывания. Можно вывести и названия столбцов: Console.WriteLine("{0}\t{1}\t{2}", reader.GetName(0), reader.GetName(1), reader.GetName(2)); Добавление данных в таблицу Задача. Добавить данные в таблицу базы данных. Решение. Большинство приложений записывает в базу данных некоторую информацию, а также читает данные из базы. ![]() Результат выполнения: ![]() В таблицу Tovar добавлена запись: ![]() Удаление данных из таблицы Задача. Вы хотите удалить данные из таблицы. Решение. Удаление является опасной операцией, но иногда оно необходимо. Эта задача может оказаться довольно трудоемкой, если у вас много таблиц, ссылающихся друг на друга. Во многих случаях гораздо проще оставлять данные в таблице и сопровождать поле "Удалено", которое будет служить идентификатором, что запись содержит неактивные данные. Тем не менее, удалять данные приходится. Например, если принят закон, требующий удаления определенных данных по истечении определенного интервала времени. ![]() Результат выполнения: Из таблицы Tovar удалено 2 записи. Создание хранимой процедуры Задача. Вы хотите выполнить в базе данных хранимую процедуру. Хранимые процедуры в некотором смысле аналогичны методам, хранящимся на сервере. Платформа .NET поддерживает их с помощью свойства CommandType объекта SqlCommand. Пример. Создание хранимой процедуры, возвращающей список товаров, упорядоченный по названию. ![]() Выполнение хранимой процедуры аналогично выполнению запроса к базе данных: ![]() Транзакции Задача. Вы хотите использовать транзакции, чтобы несколько операций обрабатывались как атомарная единица, то есть либо все они выполняются успешно, либо все заканчиваются неудачей. Решение. Вы можете создать транзакцию на основе объекта-соединения. После этого нужно включать ее в каждую выполняемую команду. ![]() ![]() |