Similar presentations:
1. Введение в ADO.NET
1. Введение в ADO.NET
2. Что за Базы Данных
База данных – это специальная программа, которая хранит данныена диске, позволяет быстро искать и изменять данные, а также
обеспечивает безопасность и одновременную работу многих
людей.
Самый популярный тип баз данных в мире – реляционные (SQLбазы).
3. Основные понятия
Представим базу данных университета.Внутри нее находятся таблицы (как листы в Excel, только строже).
Id
Name
Age
Group
1
Иванов Иван
20
ivan@example.com
ИТ-21
2
Петрова Анна
19
anna@example.com
ИТ-21
3
Сидоров Пётр
21
petr@example.com
ИТ-22
Строка (row) = одна запись (один студент).
Столбец (column) = одно поле (Имя, Возраст и т.д.).
Id – первичный ключ (Primary Key). База гарантирует, что он никогда не
повторится и не может быть пустым.
4. Основные понятия
Таблица КурсовId
Title
Hours
1
Математика
120
2
Программирование
80
3
Базы данных
60
Таблица Оценок
Id
StudentId
CourseId
Grade
1
1
1
5
2
1
2
4
3
2
1
5
5. Аналоги из C#
С#В базе данных
class Student { ... }
Таблица Students
List<Student> students
Все строки в таблице
students.Add(...)
INSERT
students.Where(...)
SELECT ... WHERE
students[0].Name = "Вася"
UPDATE
students.RemoveAt(0)
DELETE
6. Создаем БД
1. Вид2. Обозреватель серверов
3. ПКМ
4. Создать новую базу данных…
5. Server name: (localdb)\mssqllocaldb
6. Database name: UniversityDB
7. По папке Таблицы ПКМ, создать новую таблицу
7. SQL-скрипт
По нашей БД ПКМ, создатьзапрос.
Пишем запрос, запускаем
Обновляем БД
8. Практическое задание 1
Создайте запрос на создание третьей таблицы «Оценки»Подсказка: создание внешнего ключа
9. Практическое задание 2
Вставьте новые данные10. Практическое задание 3
Попробуйте самостоятельно написать запросы1. Все студенты старше 19 лет, отсортированные по имени.
2. Все предметы, у которых больше 70 часов.
11. Практическое задание 4
1. Измените возраст Иванова на 21.2. Поставьте оценку 5 всем студентам по предмету
«Программирование».
3. Удалите студента Смирнову Ольгу (и все ее оценки).
12. Что за ADO.NET
ADO.NET – это встроенная технология Microsoft .NET для доступак данным. Она позволяет C#-приложениям работать с базами
данных (SQL Server, Oracle, MySQL), XML-файлами и другими
источниками.
13. Для чего это
• Высокая производительность• Полный контроль над SQL (хранимые процедуры, сложные
запросы)
• Работа с legacy-системами или когда ORM избыточен
14. Установка
1. Создаем обычное консольное приложение2. Ставим пакет Microsoft.Data.SqlClient
15. Архитектура
Два режима:1. Connected mode – быстрый, но держит соединение открытым.
2. Disconnected mode– данные кэшируются в памяти.
Основные классы (в пространстве Microsoft.Data.SqlClient):
• SqlConnection – соединение.
• SqlCommand – SQL-запрос или хранимая процедура.
• SqlDataReader – быстрый ридер.
• SqlDataAdapter + DataSet/DataTable – disconnected.
• SqlTransaction – транзакции.
16. Тест
Всегда используй using – объекты реализуют IDisposable, исоединение автоматически возвращается в пул.
Параметры (@name) – обязательно, защита от SQL Injection.
ExecuteReader() – только для SELECT.
ExecuteNonQuery() – для INSERT/UPDATE/DELETE.
ExecuteScalar() – когда нужно одно значение (например,
COUNT(*)).
17. Тест
Всегда используй using – объекты реализуют IDisposable, исоединение автоматически возвращается в пул.
Параметры (@name) – обязательно, защита от SQL Injection.
ExecuteReader() – только для SELECT.
ExecuteNonQuery() – для INSERT/UPDATE/DELETE.
ExecuteScalar() – когда нужно одно значение (например,
COUNT(*)).
18. Тест
Всегда используй using – объекты реализуют IDisposable, исоединение автоматически возвращается в пул.
Параметры (@name) – обязательно, защита от SQL Injection.
ExecuteReader() – только для SELECT.
ExecuteNonQuery() – для INSERT/UPDATE/DELETE.
ExecuteScalar() – когда нужно одно значение (например,
COUNT(*)).
19. Практическое задание 2
Напишите метод ShowAllStudents(), который выводит всехстудентов через SqlDataReader.
database