- •Занятие №1
- •Информационные процессы и системы
- •Информационные ресурсы и технологии
- •Базовой технической составляющей процесса информатизации общества является компьютеризация.
- •Кодирование информации
- •Занятие №2
- •Меры информации
- •Качество информации
- •Занятие №3
- •Виды и формы представления информации в информационных системах
- •В зависимости от типа носителя различают следующие виды
- •Информация
- •Сообщение
- •Занятие №4 Обзор существующих современных систем автоматизированной обработки информации. Структура систем автоматизированной обработки информации.
- •Занятие №5
- •Общая характеристика процессов сбора, обработки, передачи и хранения информации
- •Занятие №6
- •Занятие №7
- •Общие принципы сохранения информации
- •Классификация субд
- •Занятие №8
- •Особенности и цель использования вычислительных сетей
- •Занятие №9
- •Особенности построения и функционирования локальных вычислительных сетей. Структура сети и особенности взаимодействия устройств
- •Топологии и технологии компьютерных сетей
- •Р ис. 9.1. Иерархическая система
- •Р ис. 9.3.Логическая структура сети с выделенным сервером
- •Занятие №10
- •Получим следующее окно для импортирования данных. Переключимся в режим Copy tables(s) and view(s) from the source database. Далее.
- •Запросы на языке sql к базам данных sql Server
- •Создание запроса на выборку
- •Создание запросов действия
- •Контрольные вопросы:
- •Занятие №11
- •Занятие №12
- •Целью этой лабораторной рабрты будет изучение механизма связывания таблиц для доступа к этим таблицам сервера, получеиие навыков использования связанных таблиц в запросах.
- •Упражнение 2. Использование связанных таблиц в запросах.
- •Создание проекта для существующей на сервере базы данных
- •Замечание
- •Занятие №15 Создание таблиц в проекте Access. Связывание таблиц в проекте. Определение контрольных ограничений. Схема взаимодействия проекта Access и sql-сервера.
- •Занятие №17
- •Создание схем баз данных
- •Занятие №18
- •Упражнение 1 Создание схем баз данных
- •Занятие №19 Разработка форм и отчётов в проекте Access.
- •Выбор настроек параметров
- •Настройка свойств формы проекта
- •Работа с серверными фильтрами
- •Занятие №20 Лабораторная работа №6 «Разработка форм и отчётов в проекте Access».
- •Занятие №21
- •Сохранение отчета как страницы доступа к данным
- •Подключение страницы к базе данных
- •Создание страницы доступа к данным одной таблицы
- •Создание страницы доступа к данным нескольких таблиц
- •Создание страницы доступа к данным в режиме конструктора
- •Занятие №23
- •Упражнение 2. Использование фильтра на странице доступа к данным
- •Упражнение 3. Сохранение отчета как страницы доступа к данным
- •Упражнение 4. Подключение страницы к базе данных
- •Контрольные вопросы:
- •Контрольные вопросы:
- •Занятие №27
- •Занятие №28
- •Занятие №30
- •Связывание отдельных частей
- •Добавление фильтра записей
- •Упражнение 4. Связывание отдельных частей
- •Упражнение 2. Добавление фильтра записей.
- •Перемещение на другую запись
- •Занятие №35 Лабораторная работа №12 «Исследование средств доступа к базам данных»
- •Занятие №36
- •Обзор системы безопасности sql Server 2000 Физическая безопасность
- •Безопасность сетевого протокола
- •Доменная безопасность
- •Безопасность локального компьютера
- •Безопасность sql Server
- •Аутентификация
- •Авторизация
- •Группы и роли
- •Состояния разрешения
- •Разрешения на работу с объектами и выполнение sql-выражений
- •Шифрование объектов
- •Безопасность приложений
Связывание отдельных частей
Для того чтобы заработал механизм передачи данных, потребуется связать, квждый элемент редактирования с переменной CMyFirstSet, представляющей поле базы данных. Выполняется это связывание за счет внешнего подключении (foreign connection) — косвенного отображения элемента управления Windows на переменную класса CMyFirstSet.
Вы уже знаете, как с помощью ClassWiZard можно связать элемент управления, например, IDC_CENA с переменной CString m_CENA. В таком случае любые изменения m_CENA копируются в элемент управления IDC_CENA или из него во время выполнения функции DoDataExchange().
Рис. 30.5. Добавление полей редактирования
При использовании CRecordView ClassWizard позволяет связать элемент управления с одной из переменных класса CMyFirstSet. Делается это через переменную m_pSet класса CMyFirstView, указывающую на объект CMyFirstSet. Выполним следующие шаги:
Откроем ClassWizard, нажав Ctrl+W или выбрав из главного меню View | ClassWizard. В выпадающем списке Class Name выберем класс CMyFirstView. Перейдём на вкладку Member Variables, на которой отображаются идентификаторы только что добавленных элементов редактирования.
Последовательно выбирая каждый из элементов, нажимаем Add Variable, как будто работаем с обычным диалоговым окном. Обратите внимание, что когда появляется диалоговое окно Add Member Variable, поле Member Variable Name уже не является обычным элементом редактирования — теперь оно представляет собой выпадающий список, содержащий косвенные ссылки на переменные типа m_pSet->m_CENA. Это показано на рис. 30.6. Свяжем каждый элемент управления с корректным полем CRecordSet, используя переменные типа Cstring и других соответственно, которые и будут содержать значения полей.
Каждая внешняя переменная, добавленная ClassWizard, позволяет включить проверку длины вводимых данных. Это очень важно при создании приложения на основе CRecordView. При записи полей в базу данных следует проявить внимательность, чтобы не отослать символов больше, чем может разместиться в поле. Введём длины в поле Maximum Characters, чтобы установить проверку длины строки каждой внешней переменной, включенной в класс CMyFirstView (см. рис. 30.7). Теперь наше приложение перед отправкой данных в базу будет выполнять проверку их корректности.
Рис. 30.6. Создание в ClassWizard внешних подключений
Теперь откомпилируем и запустим программу. Из рис. 30.8 видно, что по базе данных можно передвигаться при помощи кнопок панели управления. Кроме того, перемещаться можно и с помощью команд меню Record. В случае изменения данных приложение запишет их в базу при перемещении к другой записи.
Для того чтобы сделать MyFirst полнофункциональной утилитой поддержки таблицы, придется добавить некоторый код. Далее будет показано, как фильтровать данные, таким образом отображая требуемые записи. Затем мы рассмотрим код для добавления и удаления записей.
Рис. 30.7. Установка в ClassWizard проверки корректности полей ввода
Рис. 30.8. Приложение MyFirst
Занятие №31
Добавление кода в созданный проект. Реализаци функций сортировки, фильтрации с помощью ClassWizard. Добавление и удаление записей.
Добавление кода в проект MyFirst
В приложении CRecordView класс документа практически ничего не делает, поскольку хранит и получает информацию сама база данных. Поэтому класс CMyFirstDoc, например, не имеет функции сериализации. Класс документа просто содержит объект CRecordSet как общедоступный элемент.
При запуске приложения функция класса представления OnInitialUpdate() сохраняет адрес объекта документа CRecordSet в своей переменной m_pSet следующим образом:
m_pSet = &GetDocument()->m_MyFirstSet;
Затем осуществляется вызов функции OnInitialUpdate() базового класса, которая заполняет набор записей данными из базы, создает на форме элементы управления и передает им данные из первой записи набора.
После того как класс представления получит объект CRecordSet, но прежде чем он вызовет CRecordView::OnInitialUpdate(), есть возможность определить, какие записи следует получить за счет установки значений полей m_strFilter и m_strSort объекта CRecordSet. m_strFilter определяет какие записи необходимо получить, а m_strSort — в каком порядке.
Вот как это работает. Предположим, требуется вывести только товары корейского производства. Добавьте следующую строку непосредственно перед вызовом CRecordView::OnInitialUpdate():
m_pSet->m_strFilter = "Country = 'Корея'";
Аналогично, если необходимо отсортировать записи по значению CENA, следует добавить такую строку:
m_pSet->m_strSort = "CENA";
Если strFilter и m_strSort пусты (по умолчанию это так), набор запией будет содержать все записи таблицы без какого-либо порядка.
