Разделы презентаций


Лекция № 7 БАЗЫ ДАННЫХ Москва, 2019

Содержание

Разработка базы данных в MSAccessТипы данных Microsoft AccessПрименение определенного типа данных позволяет избежать ошибок в работе с таблицами - в поле с форматом даты невозможно ввести значение суммы, а в поле

Слайды и текст этой презентации

Слайд 1Лекция №7 БАЗЫ ДАННЫХ
Москва, 2019

Лекция №7 БАЗЫ ДАННЫХ Москва, 2019

Слайд 2Разработка базы данных в MSAccess
Типы данных Microsoft Access
Применение определенного типа

данных позволяет избежать ошибок в работе с таблицами - в

поле с форматом даты невозможно ввести значение суммы, а в поле с денежным форматом невозможно ввести дату.
Разработка базы данных в MSAccessТипы данных Microsoft AccessПрименение определенного типа данных позволяет избежать ошибок в работе с

Слайд 3Разработка базы данных в MSAccess управления туристической фирмой.

Разработка базы данных в MSAccess управления туристической фирмой.

Слайд 4Разработка базы данных в MSAccess

Разработка базы данных в MSAccess

Слайд 5Разработка базы данных в MSAccess

Разработка базы данных в MSAccess

Слайд 6Разработка базы данных в MSAccess
Отношение "один-ко-многим" далее появится у нас

между таблицами "Информация о туристах" и "Путевки" - один турист

может приобрести несколько путевок
Разработка базы данных в MSAccessОтношение

Слайд 7Типы данных MSSQL

Типы данных MSSQL

Слайд 8Агрегатные функции

Агрегатные функции

Слайд 9Оператор сравнения like

Оператор сравнения like

Слайд 10Data management language

Data management language

Слайд 11Подключение к внешней базе MSSQL

Подключение к внешней базе MSSQL

Слайд 12ADO NET
ADO NET
Требуюшие подключение: Connection,
Transaction, DataAdapter, Command, Parameter, DataReader
Не требуюшие

подключение: DataSet, DataTable, DataRow, DataColumn, Constraint, DataView

ADO NETADO NETТребуюшие подключение: Connection,Transaction, DataAdapter, Command, Parameter, DataReaderНе требуюшие подключение: DataSet, DataTable, DataRow, DataColumn, Constraint, DataView

Слайд 13ADO NET

ADO NET

Слайд 14Проверка подключения
Поставщики данных: OLE DB и SQL Client

Объект connection класса OleDbConnection:
OleDbConnection

connection = new OleDbConnection(); State — свойство, определяющее состояние подключения.
Теперь посмотрим

на методы, которые есть у класса:
BeginDbTransaction() — запустить транзакцию базы данных (метод унаследо-
ван от класса DbConnection);
BeginTransaction() — перегруженный метод начала транзакции базы данных;
ChangeDatabase() — установить новую базу данных на сервере, к которому мы
сейчас подключены;
Close() — закрыть соединение
CreateCommand() — создать объект OleDBCommand

Хорошим тоном является явное закрытие соединения с базой данных

Проверка подключенияПоставщики данных: OLE DB и SQL ClientОбъект connection класса OleDbConnection:OleDbConnection connection = new OleDbConnection(); State —

Слайд 15Проверка подключения
В реальном приложении соединение с базой данных чаще всего

делают в кон-
структоре класса, и если соединение не прошло успешно,

то программу просто за-
крывают. Нет смысла запускать программу, работающую с базой данных, без воз-
можности создать реальное соединение с сервером.
Пул соединений
Открытие и закрытие соединений с базой данных — очень дорогое удовольст-
вие с точки зрения производительности. В момент инициализации подключения
клиенту требуется выполнить достаточно много действий, скрытых от конечного
пользователя.
Зачем постоянно держать активное соединение. Есть тайм-аут на процесс установки соединения, а если соединение уже установилось, то оно может быть активным неделями. Поэтому некоторые пользователи не закрывают программы. Когда вы уничтожаете объекты класса Connection, то поставщик данных ре-
ально не закрывает соединение с базой данных. Объект помечается как неисполь-
зуемый, и если в течение определенного времени клиент снова запросит подклю-
чение, то будет использоваться уже существующее соединение, которое было
помечено, как неиспользуемое.

Проверка подключенияВ реальном приложении соединение с базой данных чаще всего делают в кон-структоре класса, и если соединение

Слайд 16ExecuteScalar
OleDbCommand command = connection.CreateCommand();
command.CommandText = "SELECT COUNT(*) FROM Peoples";
int number

= (int)command.ExecuteScalar();
MessageBox.Show(number.ToString()); Для выполнения SQL-команды в данном примере используется метод
ExecuteScalar(). Он

подходит для тех случаев, когда запрос возвращает только
одно значение. Наш запрос возвращает количество записей в таблице

Слайд 17Транзакции
Begin() — начать транзакцию;
Commit() — сохранить изменения, сделанные внутри

транзакции;
Rollback() — отменить изменения, т. е. откатить транзакцию Для выполнения SQL-команды

в данном примере используется метод
ExecuteScalar(). Он подходит для тех случаев, когда запрос возвращает только
одно значение. Наш запрос возвращает количество записей в таблице
ТранзакцииBegin() — начать транзакцию; Commit() — сохранить изменения, сделанные внутри транзакции;Rollback() — отменить изменения, т. е. откатить

Слайд 18Наборы данных
Для выполнения запросов, возвращающих наборы данных, используется уже
знакомый нам

класс OleDbCommand. Его метод ExecuteReader() выполняет запрос и возвращает объект

класса OleDbDataReader, через который как раз и можно просмотреть весь набор данных результата.
Чтобы получить очередную строку данных результата, нужно вызвать метод
Read() класса OleDbDataReader. Этот метод возвращает булево значение, которое
определяет, прочиталась ли очередная строка. Если мы достигли конца набора
данных, то результатом вызова метода будет false.
метод GetValues()
GetBoolean() — возвращает значение поля в виде булева значения;
GetByte() — возвращает значение поля в виде байта;
GetChar() — возвращает значение поля в виде символа char;
GetDecimal() — возвращает значение поля в виде числа Decimal;
GetDouble() — возвращает значение поля в виде числа с плавающей точкой;
GetString() — возвращает значение поля в виде строки.
Наборы данныхДля выполнения запросов, возвращающих наборы данных, используется ужезнакомый нам класс OleDbCommand. Его метод ExecuteReader() выполняет запрос

Слайд 19Запросы с параметрами
OleDbCommand command = connection.CreateCommand();
command.CommandText = "SELECT * FROM

Peoples WHERE Фамилия LIKE ?";
command.Parameters.Add("@lastname", OleDbType.WChar, 50);
command.Parameters[0].Value = "Смирнов";
OleDbDataReader reader

= command.ExecuteReader();

command.CommandText =
"SELECT * FROM Peoples WHERE Фамилия LIKE @lastname";
command.Parameters.Add("@lastname", OleDbType.WChar, 50);
Запросы с параметрамиOleDbCommand command = connection.CreateCommand();command.CommandText =

Слайд 20Отсоединенные данные
Хорошо было бы получить данные, закрыть соединение и спокойно

обра-
батывать результат. Это особенно важно при формировании отчетов, когда пользо-
ватель

может просматривать их долгое время. Это также удобно, когда пользова-
тель редактирует набор данных продолжительное время, а потом одной командой
заливает на сервер сделанные изменения.
Класс OleDbDataAdapter — это класс адаптера, который реализует все необхо-
димые методы для кэширования данных. Но он всего лишь провайдер, который
реализует действия по кэшированию. Хранилищем для кэша может выступать один из классов DataTable или DataSet.
Первый из них реализует кэш одной таблицы, а
второй является набором данных и может состоять из множества таблиц. Для этого
У класса DataSet есть свойство Tables, которое является коллекцией из таблиц
DataTable. Если ваш результат возвращает несколько наборов данных, то логичнее
было бы использовать для хранения данных класс DataSet. Мы будем использовать
именно его, как более универсальный
Отсоединенные данныеХорошо было бы получить данные, закрыть соединение и спокойно обра-батывать результат. Это особенно важно при формировании

Слайд 21Отсоединенные данные
Вернемся к классу OleDbDataAdapter. Два основных его метода —

Fill() и
Update(). Первый метод позволяет скопировать все данные из результата

запроса в DataSet, а второй позволяет залить изменения обратно на сервер. При этом класс OleDbDataAdapter сам выполняет указанную команду, поэтому ее не нужно даже самостоятельно открывать.

OleDbCommand command = new OleDbCommand("SELECT * FROM Peoples");
command.Connection = connection;
OleDbDataAdapter adapter = new OleDbDataAdapter(command);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
connection.Close(); После этого соединение с сервером можно закрывать, оно больше не нужно.
Все данные находятся локально в наборе данных DataSet, и вы можете работать с
ними.
Отсоединенные данныеВернемся к классу OleDbDataAdapter. Два основных его метода — Fill() иUpdate(). Первый метод позволяет скопировать все

Слайд 22Отсоединенные данные
private BindingSource bindingSource = new BindingSource(); Класс BindingSource представляет собой

еще одного посредника, но на этот
раз между набором данных DataSet

и визуальными компонентами. В нашем случае визуальным компонентом будет сетка DataGridView, и чтобы сетка отобразила данные, нам как раз и нужен посредник в виде BindingSource.

AutoGenerateColumns = true
в сетке колонки будут сгенерированы автоматически

Отсоединенные данныеprivate BindingSource bindingSource = new BindingSource(); Класс BindingSource представляет собой еще одного посредника, но на этотраз

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика