double arrow

Выполнение команд SQL


Объект OdbcCommand создается для отправки SQL запросов источнику и получению от него данных. Конструктор класса с параметром дает возможность построить объект со строкой SQL запроса. Для того, чтобы запрос был выполнен объект OdbcCommand должен получить данные о соединении, это осуществляется присваиванием свойству Connection значения объекта соединения. Для получения ответа должен создаваться объект OdbcDataReader. Всякий отправленный запрос возвращает результат как объект класса OdbcDataReader. Чтение записей с помощью Reader выполняется следующим образом:

1) Вызовом метода Read считывается очередная запись из источника. Эта запись хранится в Reader. Если записей в источнике нет, возвращается пустое значение

2) Нужное поле записи считывается из Reader методом GetString, параметром метода является номер поля (нумерация от 0)

Выполнение агрегатной функции

В том случае, когда SQL запрос возвращает единственное значение, вызывается метод ExecuteScalar. Метод возвращает объект класса Object, который следует преобразовать в необходимый тип.

Для выполнения операций добавления и обновления записей используется метод ExecuteNonQuery. Метод передает источнику запрос (Insert) и получает в ответ количество строк, которые были обработаны данным запросом.




Тема №10 «Программирование графических изображений»

Обработка и построение графических изображений представляет собой достаточно сложную вычислительную задачу. Визуальные модели строятся на основе непрерывных математических моделей, непрерывных геометрических преобразованиях, а также алгоритмов управления оборудования. С точки зрения прикладного программирования эти задачи достаточно разнородны и для их успешного решения требуется интеграция системы программ и средств графических библиотек. Технология визуализации основывается на использовании программных объектов высокого уровня. Эти объекты инкапсулируют, многие детали построения графики.

На качество изображения влияет несколько факторов:

1) Цвет. Количество цветов определяет характеристиками устройства отображения. На программном уровне важно то, что большее количество цветов кодируется большим числом бит. Как следствие обработка большего объема информации замедляется. Поэтому функции управления цветом находятся на нижних системных уровнях (адаптера). Там же выполняется преобразование из одной цветовой палитры в другую.

2) Реалистичность обеспечивается за счет размытия границ и коррекции отображения предметов, находящихся на различных расстояниях от плоскости изображения. Все эти вычисления также реализуются на аппаратном уровне.

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



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

Графические изображения по способу воспроизведения делятся на векторную и растровую графику.

Векторная графика предполагает, что изображения строятся из геометрических примитивов. Растровые изображения уже содержат информация о каждой точке изображения. Для их построения не требуется геометрических расчетов. И в том и в другом случае конечный результат одинаковый – на экране соответственно его свойствам по точкам будет построено изображение.

В основе технологии построения графики лежит понятие контекста устройства.

Контекст – это абстрактное поле для рисования. Контекст создается так, что наиболее общим образом отображает свойства реального устройства. Все особенности учитываются на уровне свойств. Операции рисования от вида устройства не зависят.



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

В библиотеке .Net используется графическая библиотека GDI+. Она состоит из классов, в которых заключены все функции для векторной и растровой графики. Основным элементом для построения графики является объект класса Graphics. Этот объект рассматривается как контекст, в котором выполняются все графические построения.

Получить контекст в программе можно через один из аргументов передаваемых функции обработчику события Paint. Данная функция вызывается всякий раз, когда приложение должно перерисовать свое окно. Именно в данный обработчик помещают все пользовательские функции строящие изображение.

Другим вариантом получения контекста является создание “пустого” контекста. С помощью функции CreateGraphics. Таким образом, может быть создан контекст для любого из графических элементов на экране.

Третьим способом создания контекста является использование готового растрового изображения. Контекст можно получить, загрузив растровое изображение из файла и использовав одну из статических функций пространства имен Graphics.

Тема №11 «Атрибуты контекста»

Полученный контекст обладает большим набором свойств, которые используются в процессе рисования. Часть из них предназначена только для чтения (уровень разрешения пикселей/дюйм; параметры страницы по умолчанию). С помощью других свойств контекста можно изменять размещение отображаемой на экране области.

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

Методы объекта Graphics содержат группу, предназначенную для рисования геометрических примитивов.

DrawLine – линия.

При вызове этих методов используются вспомогательные объекты Pen (ручка), Brush (перо), Font (шаблон для отображения шрифта). Для вспомогательных объектов существуют классы в пространстве имен Drawing. Метод DrawString создает графическое изображение строки символов. При этом информация о самих символах теряется.







Сейчас читают про: