Главная · Карта сайта · Поиск · Статьи · Компьютерные курсы · Обучающие программы · Открытые проекты · Веб-программирование · Создание интернет-сайта · Полезные ссылки · Глоссарий · Контакты · Декабрь 09 2016 22:15:50
Последнее опубликованное

Что такое Model-View-Controller
Pattern Model-View-Controller

Как создать свой веб-сайт
Как создать свой сайт в интернете

Разное
Статистика

Основы программирования. Базы данных


Содержание курса

Первые базы данных не обладали возможностью резервного копирования...

Шаг 8. Базы данных. Первое знакомство

Считаю, что уже пора познакомить начинающих программистов с приемами работы с базой данных. На страницах этого ресурса представлен практический курс изучения SQL запросов, в котором используется обучающая программа и реальный набор данных Microsoft Access. Сейчас мы также будем использовать этот набор. Узнать из чего он состоит можно здесь. Там же можно узнать, почему изучение основ работы с базами данных почти так же важно для прикладных программистов, как и изучение самих языков программирования.

Описание задачи

Представленные на этом шаге программы на C# и VB.NET позволяют пользователю осуществить соединение с базой данных по имени файла и выполнить SQL запрос с использованием операции SELECT. Если у читателя нет абсолютно никаких знаний о языке структурированных запросов SQL, то прежде знакомство с этой темой обязательно. Этот шаг в первую очередь преследует цель познакомить вас с работой программных компонентов соединения с базой данных, выполнения SQL запроса и представления результата его выполнения. Последующие несколько шагов будут основываться на решении этого шага, но содержать ряд усовершенствований, таких как чтение исходных параметров из текстового файла, вывод результата запроса в текстовый или в XML файл и т.п.

Описание реализации

Для соединения с базой данных мы будем использовать программные компоненты, входящие в состав Microsoft .NET, а именно набор программных компонентов работы с базой данных посредством OleDB интерфейсов. Про компоненты работы с OleDB в составе Microsoft.NET на данный момент достаточно знать то, что в ходе работы они используют разделяемые ресурсы операционной системы (как в прочем и многие другие программные компоненты работы с базами данных), и поэтому нам необходимо будет использовать конструкцию using, призванную сделать работу с разделяемыми ресурсами безопасной. Дело в том, что использование конструкции using гарантирует корректное освобождение всех занимаемых сервисами работы с базой данных ресурсов операционной системы (файлов, каналов передачи данных и т.п.) после того, как эти сервисы выполнят все требуемые от них действия. Пример использования конструкции using приведен здесь. Также напомню, что при работе с программными компонентам, которые потенциально могут стать источниками исключительных ситуаций (ошибок) следует использовать конструкцию try-catch. В нашем случае ошибки будут возникать в случаях, если пользователь ввел неправильный путь к файлу базы данных или некорректный SQL запрос. Более подробно про обработку исключительных ситуаций можно прочитать здесь. Про компоненты работы с базами данных Microsoft .NET также упоминается здесь.

Описание алгоритма

Алгоритм, в отличие от окружающей этот шаг теории, тривиален. Пользователь вводит путь к файлу базы данных Microsoft Access. Далее, создается объект – соединение с базой данных (DbConnection), и ему передается строка соединения, которая, помимо пути к файлу, содержит имя провайдера. Не стоит сейчас уделять особого внимания строке соединения. Для каждой СУБД и для каждого отдельного протокола обмена данными она будет разной. Соединение открывается и передается в качестве параметра объекту – команде (DbCommand), который несет ответственность за выполнение SQL запроса. После обработки запроса мы запрашиваем у объекта-команды экземпляр объекта – читателя результата запроса (DdDataReader), который впоследствии и допрашиваем с пристрастием в цикле for. Экземпляр DbDataReader предоставляет доступ к текущей строке результата запроса и позволяет осуществлять переход к следующей строке. Таким образом, до тех пор, пока функция Read() этого объекта возвращает истинное значение, мы выводим данные текущей строки на консоль.

Пример работы программы
Пример работы программы

Фрагмент кода

Ниже представлены фрагменты кода выполнения SQL запроса на языках программирования C# и VB.NET. Полные версии программ и тестовый набор данных нужно скачать, перейдя по ссылкам следующих разделов.

C#:
 using (DbCommand _sqlCommand = new OleDbCommand(_SQL, (OleDbConnection)_Connection))
 using (DbDataReader _reader = _sqlCommand.ExecuteReader())
 {
     int _RecordIndex = 0;
     while (_reader.Read())
     {
        Console.WriteLine("Запись {0}", (++_RecordIndex));

        for (int i = 0; i <= _reader.FieldCount - 1; i++)
             Console.WriteLine("{0} = {1}", _reader.GetName(i), _reader.GetValue(i));

        Console.WriteLine();
     }

     Console.WriteLine("Все результаты запросы выведены...");
 }
VB.NET:
Using _sqlCommand As DbCommand = New OleDbCommand(_SQL, CType(_Connection, OleDbConnection))
       Using _reader As DbDataReader = _sqlCommand.ExecuteReader()
             Dim _RecordIndex As Integer = 0

             While _reader.Read()
                   _RecordIndex = _RecordIndex + 1
                   Console.WriteLine("Запись {0}", _RecordIndex)

                   For i As Integer = 0 To _reader.FieldCount - 1
                         Console.WriteLine("{0} = {1}", _reader.GetName(i), _reader.GetValue(i))
                   Next

                   Console.WriteLine()
             End While

             Console.WriteLine("Все результаты запросы выведены...")
       End Using
 End Using

Полные версии алгоритмов

На языке C#.
На языке VB.NET.

Тестовый набор данных

Файл базы данных Microsoft Access Data.rar (Data.mdb).

Резюме

Цель этого шага – продемонстрировать общие правила работы с ресурсами операционной системы, которые являются источниками данных, обрабатываемых прикладным программным обеспечением. Аналогичные подходы и приемы используются при работе с текстовыми, бинарными и XML файлами, что и будет показано в продолжение этого курса.

Далее: Работа с базой данных и текстовыми файлами



Компьютерные курсы и курсы программирования
Основы программирования

Курс для начинающих программистов на C# и VB.NET.

SQL 25™

Построение SQL запросов и работа с базой данных.

C# Quick Guide™

Программирование на C#. Краткое руководство.

RegEx

Применение регулярных выражений.

Plug-in архитектура

Примеры программной Plug-in архитектуры.

XML и его расширения

Язык разметки XML и его расширения с примерами.

HTML и разметка гипертекста

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна

Основы веб-дизайна: решения типовых задач верстки.

Программирование на PHP

Руководство по программированию на PHP для начинающих.

Справочные материалы

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь
.
Coding Craft. Все права защищены © 2011. Проект Инициативного Народного Фронта Образования - ИНФО-проект.