
- •Организация c#-системы ввода-вывода: байтовые и символьные потоки. Встроенные потоки.
- •Классы потоков. Класс Stream. Классы байтовых потоков. Классы символьных потоков. Классы двоичных потоков.
- •Класс FileStream и файловый ввод-вывод на побайтовой основе. Открытие и закрытие файла. Запись данных в файл. Считывание байтов из объекта класса FileStream.
- •Файловый ввод-вывод с ориентацией на символы. Использование класса StreamWriter. Использование класса StreamReader.
- •Считывание и запись двоичных данных. Класс BinaryWriter. Класс BinaryReader.
- •6. Навигация по файловой системе: классы для работы с файловой системой.
- •7. Получение сведений о файле; копирование файлов; перечисление файлов в папке; изменение расширения файлов.
- •5.3. Изменение расширения файлов
- •8. Основы организации потоков. Потоки и многозадачность. Пространство имен System.Threading. Класс Thread. Создание потока.
- •9. Использование нескольких потоков. Планирование потоков, приоритеты потоков.
- •10. Проблемы одновременности и синхронизации потоков. Общий доступ к данным из разных потоков, предотвращение коллизий.
- •11. Синхронизация доступа к общим данным с помощью блокировок. Управление временем существования потоков.
- •12. Краткий обзор ado.Net. Три стороны технологии ado.Net. Пространство имен System.Data.
- •13. Поставщики данных ado.Net. Поведение объектов подключения.
- •14. Объектная модель ado.Net
- •16. Создание соединения с источником данных. Члены типа dbConnection. Обработка исключений при работе с ms sql
- •Конструкторы
- •Свойства
- •События
- •17. Работа с бд с пом. Sql-запросов. Класс SqlCommand. Объект Command. Создание и инициализация. Командная строка sql-запроса CommandText.
- •Конструкторы
- •Свойства
- •18. Выборка, добавление, удаление и обновление данных с помощью sql-запросов на подсоединенном уровне.
- •19. Вывод информации с использованием объекта чтения данных: создание SqlDataReader; чтение данных из DataReader; чтение полей из текущей записи; закрытие DataReader.
- •20. Организация хранения данных. Объект DataSet
- •21. Таблицы и поля: объекты DataTable и DataColumn
- •22. Строки: объект DataRow
- •23. Связи между таблицами: объект DataRelation
- •24. Создание подключения к базе данных. Управляемые провайдеры
- •25. Объект DataAdapter. Класс SqlDataAdapter
- •Конструкторы:
- •Свойства
- •Организация c#-системы ввода-вывода: байтовые и символьные потоки. Встроенные потоки.
24. Создание подключения к базе данных. Управляемые провайдеры
Управляемые провайдеры. Скорее всего, одним из первых вопросов у каждого, кто начал разбираться с ADO.NET, будет: «А как создать DataSet?» Ответ будет звучать так: при помощи управляемого провайдера (managed provider). Управляемый провайдер — это набор классов, реализующих интерфейсы, определенные в пространстве имен System.Data. Речь идет об интерфейсах IDbCommand, IDbDataAdapter, IDbConnection и IDataReader:
В состав ADO.NET включены два управляемых провайдера: провайдер SQL и провайдер OleDb. Провайдер SQL специально оптимизирован под взаимодействие с Microsoft SQL Server версии 7.0 и последующих. Для других источников данных предлагается использовать провайдер OleDb, который можно использовать для обращения к любым хранилищам данных, поддерживающим протокол OLE DB. Можно сказать что, управляемый провайдер — это шлюз к хранилищу данных (например, на сервере баз данных) , при помощи которого можно произвести загрузку данных из этого внешнего хранилища в объект DataSet.
Управляемый провайдер SQL предлагает прямой доступ к хранилищам данных, при котором производительность будет максимальной. Рассмотрим особенности работы с управляемым провайдером SQL. Он предназначен только для работы с базами данных на сервере MS SQL Server и хорошо оптимизирован именно для такой работы. Типы, которые составляют управляемый провайдер SQL, определены в пространстве имен System. Data.SqlClient.
Список основных типов управляемого провайдера SQL:
SqlCommand – Представляет запрос SQL, производимый к источнику данных SQL Server.
SqIConnection – Представляет открытое соединение с источником данных.
SqIDataAdapter – Представляет соединение с базой данных и набор команд, используемыхдля заполнения объекта DataSet, а также обновления исходной базы данных после внесения изменений в DataSet.
SqIDataReader – Обеспечивает метод считывания потока данных из источника в одном направлении (вперед).
SqlError, SqlErrors, SqlException: SqlErrors представляет набор ошибок и предупреждений, возвращаемых источником данных. Сами эти ошибки и предупреждения представлены объектами SqlError. При возникновении ошибки может быть сгенерировано исключение, представленное объектом SqlException.
SqlParameter-Collection, SqIParameter – Используются для передачи значений параметров хранимой процедуре из источника данных. Параметры представлены объектами SclParameter.
При использовании управляемого провайдера SQL очень удобно использовать классы, которые предназначены для представления «родных» типов данных SQL Server 7.0 и SQL Server 2000. Эти классы определены в пространстве имен System. Data. SqlTypes. Например, SqINumeric – decimal, SqIDouble – float, Sqllnt32 – int и т.д.
Создание подключения к БД. Первое, что необходимо сделать — открыть соединение с базой данных:
public static void Main()
// Шаг 1: Создаем соединение
SqlConnection сn=new SqlConnection("server=(local);uid=sa;pwd-;database=Имя_БД"};
При работе с управляемым провайдером SQL не указывается значение для Provider (поскольку мы всегда подключаемся к SQL Server), кроме того, в целом используется набор пар имя — значение.
После того как соединение с использованием строки подключения установлено, мы уже действуем следующим путем: создаем объект SqIDataAdapter и определяем для него текст запроса SQL через конструктор.