Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
0
Добавлен:
10.01.2020
Размер:
12.65 Mб
Скачать

2.12.2. Конструктор запросов

Конструктор форм вызывается из раздела Queries командой New/New Query. Порядок работы и окно конструктора запросов ана­ло­гич­ны порядку работы и окну конструктора пред­став­лений без страницы Up­date Criteria (рисунок 2.11.2.1). Из окна конструктора командой Query/Query Destination можно указать, куда и в каком виде выводятся результаты запроса.

2.12.3. Функции сквозных запросов

Функции сквозных запросов обеспечивают непосредственный дос­туп к уда­лен­ным источникам данных (серверу базы данных).

Рассмотрим эти функции*.

nConnectionHandle=SQLConnect([<имя источника>,<идентификатор поль­зо­вателя>,<па­роль>|<имя сое­динения>]) ‑ установка соединения с источником данных. Если nConnectionHandle<=0, то соединение не уста­нов­лено. При отсутствии параметров от­кры­вается окно соединения.

nConnectionHandle=SQLStringConnect([<строка соединения>]) ‑ уста­новка сое­динения с ис­точ­ником данных через строку соединения.

SQLDisConnect(nConnectionHandle) ‑ разрывает соединение.

SQLCancel(<номер активного соединения>) ‑ запрос на отмену выпол­ня­емо­го оператора SQL.

SQLExec(nConnectionHandle[, <SQL‑оператор> [, <имя курсора с резуль­та­тами (SQLResult)>]]) ‑ выпол­не­ние сервером SQL‑оператора. Функция возвращает: -1 (ошибки), 0/1 (функция выполняется/выпол­нена). Функция может генерировать несколько множеств.

SQLPrepare ‑ трансляция (подготовка к выполнению) запроса. Параметры функции аналогичны параметрам функции SQLExec.

SQLMoreResult(nConnectionHandle) ‑ копирует очередное множество ре­зуль­тата запроса в курсор FoxPro. Возвращает 0/1 (SQL‑оператор выполняется/выпол­нен), 2 (данных больше нет).

SQLCommit/SQLRollBack(nConnectionHandle) ‑ фиксирует/отменяет тран­з­ак­цию. Возвращает 1/-1 (ус­пешное/аварийное завершение). Код ошибки возвращается функцией Aerror.

SQLColumns/SQLTable ‑ сохраняет в курсоре имена и информацию о столбцах/таблицах источника.

SQLGetProp/SQLSetProp(nConnectionHandle,<имя>[,<значение свой­­ства>]) ‑ воз­­вра­щает/устанавливает значения свойств активного соединения.

Пример обращения к базе данных с СУБД Access

nConnectionHandle=SQLConnect() && установка связи

IF nConnectionHandle <= 0 && ошибка при установке связи

MessageBox('Ошибка при установке связи', 16, 'Ошибка!')

Else

SQLExec(nConnectionHandle,'select * from zakazchiki') && выполнение запроса

Browse && просмотр результатов запроса

SQLDisConnect(nConnectionHandle) && удаление связи

EndIf

Р екомендации. Чтобы не было запроса на установку связи, мож­но после команды nConnectionHandle=SQLConnect() указать ?SQLGetProp(nConnectionHandle,“ConnectString“) для вы­во­да стро­ки соединения, а потом ее текст в команде SQLStringConnect.

2.13. Формы

Для создания форм можно использовать мастер и конст­руктор форм.

Командой Form/Create Form Set создается набор форм.

2.13.1. Мастера форм

Наиболее быстрым способом создания формы является использо­ва­ние автоформата. Для этого достаточно в проекте выбрать нужную таб­лицу и нажать кнопку AutoForm Wizard.

Для включения по­лу­чен­ной формы в проект нужно из раздела проекта Forms нажать кнопку Add.

Мастер форм вызывается из раздела Forms командой New/Form Wizard, и появляется окно со списком мастеров Form Wizard (форма из одной таблицы) и One‑to‑Many Wizard (форма из нескольких таблиц).

Рассмотрим шаги сценария мастера Form Wizard.

  1. Select Fields. Выберем таблицу “Выпуск изделий” и все ее поля.

  2. Choose Form Style. Выберем вид формы и тип кнопок управления.

  3. Sort Records. Выберем поля сортировки таблицы. Рекомендуется выбрать один из индексов (индексы помечены звездочкой), например KP*.

  4. Finish. Кнопкой Preview предварительно просмотрим форму, и если она нас не устраивает, то можно вернуться назад кнопкой Back. Уста­но­вим режимы создания формы:

Use Field Mappring ‑ учет параметров страницы Options/Field mappings;

Add Pages ... ‑ добавление новых страниц в форму при ее пере­пол­нении.

Выберем один из вариантов продолжения работы:

Save Form for Later Use ‑ сохранить созданную форму;

Save and Run Form ‑ сохранить созданную форму и выполнить ее;

Save Form and Modify ... ‑ сохранить и модифицировать.

Выберем первый вариант и нажмем кнопку Finish.

З апустить форму можно кнопкой Run окна проекта или командой Form/Run Form, или кноп­кой Run из окна конструктора форм.

Шаги сценария мастера One‑to‑Many Wizard.

  1. Select Parent Table Fields. Выберем родительскую таблицу “Подразделения” и все ее поля.

  2. Select Child Table Fields. Выберем дочернюю таблицу “Выпуск изделий” и все ее поля.

  3. Relate Table. Установим (подтвердим) связь между выбранными таблицами по полю KP (код подразделения).

  4. Choose Form Style. Выберем вид формы и тип кнопок управления.

  5. Sort Records. Выберем поля сортировки таблицы. Рекомендуется выбрать один из индексов (индексы помечены звездочкой), например KP*.

  6. Finish. Кнопкой Preview предварительно просмотрим форму, и если она нас не устраивает, то можно вернуться назад кнопкой Back. Установим режимы создания формы и нажмем кнопку Finish.

Сформированную мастером форму можно довести до нужного вида конструктором форм, вызвав его из проекта кнопкой Modify, предва­ри­тель­но установив в текущим проекте эту форму.