рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Параметрические запросы и свойство DataSource компонента TQuery

Параметрические запросы и свойство DataSource компонента TQuery - раздел Программирование, BDE ТАADO ТЕХНОЛОГІЇПРОЕКТУВАННЯ БАЗ ДАНИХ В DELPHI Для Передачи Параметров Может Служить Свойство Datasource Компонента Tquer...

Для передачи параметров может служить свойство DataSource компонента TQuery. Фактически свойство DataSource указывает, где автоматически следует искать конкретные значения для параметров запроса.

Для того чтобы задать источник данных для параметров запроса раскройте список его свойства DataSource и выберите требуемый источник данных. В рассматриваемом примере для иллюстрации такого выбора можно задать DataSource1 (рисунок 4.12), так как он связан с набором tbNakls.

Рисунок 4.12 – Окно инспектора объектов для запроса quNakls

Если это свойство определено, явные присваивания значений параметрам не производятся, то есть не используются операторы присваивания типа

quNakls.Params[0].AsDate := '02.03.2000';

quNakls.ParamByName('DATE').Value := '02.03.2000';

В этом случае в НД tbNakls, связанном со свойством DataSource1, отыскиваются поля, имена которых совпадают с именами параметров запроса. Если такие поля есть, их текущие значения берутся в качестве значений параметров запроса, в противном случае возбуждается исключительная ситуация.

На практике это выглядит следующим образом. Пусть с источником данных DataSource1 связана таблица TTable или компонент TQuery, которые содержат поля (поле), имена которых совпадают с именами параметров запроса. Тогда в качестве значения параметра (параметров) запроса будут выбраны значения соответствующих полей выделенной строки DataSource1.

Если теперь компонент DBGrid1 связан с источником данных DataSource1, то в качестве выделенной строки DataSource1 будет выступать выделенная строка DBGrid1.

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

4.3.6 Связь главный-детальный с компонентом TQuery в качестве детального набора данных

В предыдущем подразделе показано как с помощью компонента TDataSource1 и связанного с ним компонента TDBGrid1 можно реализовать связь главный-детальный, если детальный НД создан с помощью компонента TQuery.

Рассмотрим следующий пример, взятый из реальной системы. Пусть имеет место форма, отражающая связь главный-детальный между двумя запросами TQuery - quNagrPrepGlb и quNagrPrepDtl.

а)

б)

в)

Рисунок 4.13 – Форма, отражающая связь главный-детальный между запросами quNagrPrepGlb и quNagrPrepDtl

Источник данных DataSource1 связан с, формируемым запросом quNagrPrepGlb и содержащим, в частности, поле FIO (рисунок 4.13, а).

Запрос quNagrPrepDtl связан с источником данных DataSource1, который содержит, в частности поле FIO (рисунок 4.13, б).

Текст запроса quNagrPrepGlb, формирующий НД связанный с источником данных DataSource1, достаточно громоздок, но нас интересует в нем поле FIO.

SELECT FIO и т.д.

FROM KAFEDRA, NAGRPR

WHERE KAFEDRA.CodPrep = NAGRPR.NPCodPrep

Текст запроса quNagrPrepDtl также достаточно громоздок, но нас интересует в нем параметр :FIO, который совпадает с именем поля FIO в НД, связанном с DataSource1.

SELECT DIS.DIS, FAK.FAK и т.д.

FROM NAGRPR, KAFEDRA

WHERE NAGRPR.NPCODPREP = KAFEDRA.CODPREP AND

KAFEDRA.FIO = :FIO

В качестве значения параметра запроса :FIO будут выбраны значения соответствующего поля FIO выделенной строки DataSource1. Компонент DBGrid1 связан с источником данных DataSource1, поэтому в качестве выделенной строки DataSource1 выступает выделенная строка DBGrid1 (рисунок 4.13, в).

– Конец работы –

Эта тема принадлежит разделу:

BDE ТАADO ТЕХНОЛОГІЇПРОЕКТУВАННЯ БАЗ ДАНИХ В DELPHI

Національний технічний університет України... Київський політехнічний інститут... BDE ТАADO...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Параметрические запросы и свойство DataSource компонента TQuery

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ТИПЫ СУБД
Системы управления базами данных (СУБД) - это программные средства, предназначенные для создания, наполнения, обновления, поиска и удаления данных в БД. По своей архитектуре СУБД

СТАНДАРТ ODBC
Подключение БД, созданных разными производителями и на различных платформах, к программным приложениям выполняется с помощью коммутационных библиотек, поставляемых этими производителями.

ТЕХНОЛОГИИ ВЗАИМОДЕЙСТВИЯ DELPHI С БД
Характерной особенностью большинства программ, созданных с помощью Delphi и предназначенных для работы с БД, является использование специальных технологий взаимодействия с БД. Эти т

ОСОБЕННОСТИ ТЕХНОЛОГИИ BDE
BDE (Borland Database Engine - машина баз данных корпорации Borland) представляет собой набор библиотек DLL, предназначенных для низкоуровнего доступа к данным самых разных фор

ОСОБЕННОСТИ ТЕХНОЛОГИИ ADO
Технология ADO (ActiveX Data Objects — объекты данных, построенные как объекты ActiveX) активно развивается корпорацией Microsoft. Основные особенности использования технологии ADO не зависят от ар

ПЕРВИЧНЫЕ КЛЮЧИ И ИНДЕКСЫ
В каждой таблице БД может существовать первичный ключ - поле или набор полей, однозначно идентифицирующий запись. Значение первичного ключа в таблице БД должно быть уникальным, то ест

ИСПОЛЬЗОВАНИЕ ODBC ДЛЯ ПОДКЛЮЧЕНИЯ ИСТОЧНИКА ДАННЫХ. ВНЕШНИЙ ПСЕВДОНИМ БД
Этот шаг необходим для подключения разнородных локальных и клиент-серверных БД к BDE и, следовательно, к приложению Delphi. Драйвер ODBC скрывает от BDE внутреннюю организацию конкретно

СОЗДАНИЕ ВНЕШНЕГО ПСЕВДОНИМА БД
Этот шаг необходим для предоставления программному приложению единого интерфейса к БД, независимо от ее ипа и пути к ней. Роль внешних псевдонимов состоит в предоставлении программному при

ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ BDE ДЛЯ СОЕДИНЕНИЯ С ИСТОЧНИКОМ ДАННЫХ
Как уже отмечалось, механизм BDE имеет развитые средства по работе с таблицами самых распространенных СУБД: файл-серверных (FoxPro, Paradox, и т.д.), локальных - содержащих БД в виде одного файла (

ГЛАВНАЯ ФОРМА ПРОЕКТА
Далее на примере создания несложной программы рассматриваются основные этапы и приемы программирования для БД в технологии BDE. Вид окна работающей программы показан на рисунке 3.1. Как ви

МОДУЛЬ ДАННЫХ
Как уже отмечалось, взаимодействие с реальной БД в Delphi подменяется взаимодействием со специально созданными компонентами работы с БД, которые через BDE "умеют" взаимодействовать с реал

Создание модуля данных TDataModule
Выберите команду File>New>Others, чтобы открыть окно хранилища объектов, и на вкладке New открывшегося окна дважды щелкните на значке Data Module. В свойство Name модуля данных помес

Создание компонента TTable
Перенесите в окно дерева объектов компонент TTable (вкладка BDE) и "положите" его на псевдоним ААА. В окне инспектора объектов в свойстве DatabaseName нового компонента автоматич

Создание компонента TDataSource
Чтобы в главном окне программы сетка DBGrid1 могла отображать данные из НД tbNakls, ее нужно связать с НД с помощью специального компонента источник данных (ИД) - TDataSource. Для этого выде

Связь сетки TDBGrid и навигатора DBNavigator c источником данных TDataSource
Сетка TDBGrid является наиболее распространенным визуальным компонентом, используемым для отображения данных из БД. Поэтому в рассматриваемом примере выбраны 2-ве сетки DBGrid1 и DBGrid2. Рассмотри

Связь главный-детальный между наборами данных
Если сейчас запустить проект на выполнение, то в сетках мы увидим содержимое 2-х НД: tbNakls и tbMove, которые между собой никак не связаны. Однако в БД "Поставщик книг" таблицы

Активизация наборов данных
Активизация набора данных позволяет выполнить отображение содержимого этого набора в соответствующей сетке DBGrid. Активизация может выполняться програмно в процессе выполнения приложения ил

ОБЪЕКТЫ-СТОЛБЦЫ СЕТКИ DBGrid
Механизм создания для сетки DBGrid специальных компонент - объектов-столбцов, облегчает управление отображением данных. С их помощью можно изменять шрифт и цвет колонок, формировать и

Создание объектов-полей
Поля НД TTable или TQuery выступают как целостная конструкция и не могут рассматриваться и использоваться в программе отдельно. Объекты-поля НД становятся "заменителем&q

Присоединение к наборам данных новых полей
Двойным щелчком на компоненте tbNakls откройте окно редактора полей и щелчком правой кнопкой мыши вызовите его контекстное меню. Выберите в меню команду New Field, чтобы открыть окно конструктора н

Присоединение полей из других таблиц. Подстановочные поля
Рассмотрим процесс формирования подстановочного поля на примере создания поля название фирмы Firm в НД tbNakls. В строке Name окна конструктора поля введите имя нового поля. Раскройте список

Вычисляемые поля
Вычисляемые поля не входят в состав конкретной таблицы физической БД, но могут быть присоединены к НД, связанному с этой таблицей. Эти поля могут быть присоединены к НД типа TTable и TQuery.

Обработчики событий OnGetText полей НД и компонента визуализации данных TDBGrid
Событие OnGetText возникает всякий раз, когда программа обращается к полю НД с целью отображения его содержимого в любом визуализирующем компоненте, например TDBGrid. Программист в обработчике этог

БИЗНЕС-ПРАВИЛА И ОБРАБОТЧИКИ СОБЫТИЙ КОМПОНЕНТ РАБОТЫ С БД
Программа для отображения содержания накладных и связанных с ними списков книг готова. Ее можно запустить и просматривать накладные. Однако не рекомендуется вставлять, редактировать или удалять

SQL ЗАПРОСЫ К БД
Характерной особенностью компонента TQuery (запрос) является использование в нем языка SQL. С помощью этого языка программист составляет SQL-запрос, который помещается в предназначенное для этог

СОЗДАНИЕ КОМПОНЕНТА TQuery
Создание компонента TQuery практически мало чем не отличается от создания компонента TTable. Перенесите в окно дерева объектов компонент TQuery (вкладка BDE) и "положите" его на

Свойство SQL
Свойство propertySQL: TStrings; является центральным для компонента TQuery и является коллекцией (набором) строк, в которую на этапе разработки или про

Методы Open и ExecSQL
Помимо установки свойства Active = true компонент TQuerу имеет 2-ва метода Open и ExecSQL для выполнения запроса во время выполнения программы. Метод Open используется для активизации запр

Параметрические запросы
Запросы, которые рассматривались до сих пор, относятся к статическим запросам, т.е. запросам, ограничения в которых заданы явно – в виде соответствующих констант. Пусть, например, нужно созд

ДОСТУП К ПОЛЯМ ЗАПРОСА
Доступ к полям запроса является частным случаем доступа к значению поля НД. К полю НД можно обратиться при помощи 3-х способов: 1. Свойств объектов-полей Value и AsXXXX;

Обращение к значению поля при помощи свойств набора данных Fields и FieldValues
Если для НД не создан ни один объект-поле, получить доступ к значению поля НД можно через свойства этого набора Fields и FieldValues: property Fields[Index]: TField

Последовательная навигация по записям
Для выполнения действий по последовательному перебору записей, начиная от стартовой записи и до конца НД, используют цикл while...do или repeat...until. Пусть Н

ОБЗОР СОБЫТИЙ КОМПОНЕНТА TQuery
Все запросы – точнее их НД, получают в свое распоряжение большое количество событий, унаследованных ими от родительского класса TBDEDataSet. Это те же события, что и для НД на основе таблиц.

ХРАНИМЫЕ ПРОЦЕДУРЫ
Хранимая процедура (Stored Procedure) — объект БД, представляющий собой набор SQL-инструкций, который компилируется один раз и хранится на клиент-сервере. Хранимые процедуры очень п

СОЗДАНИЕ ХРАНИМЫХ ПРОЦЕДУР
Очень толково http://www.ibase.ru/devinfo/sp_call.htm Для иллюстрации реальных возможностей использования хранимых процедур используем СУБД InterBase. Синтаксис описания хранимых процедур

ТРИГГЕРЫ
Триггер (trigger) представляет собой процедуру особого типа, которая вызывается автоматически при модификации записей БД, т. е. при изменении значений столбцов или при их удале

Реализация каскадных изменений и бизнес-правил
Для реализации каскадных изменений и бизнес-правил в локальных или файл-серверных БД обычно используются обработчики событий AfterXXXX и BefогеХХХХ. Эти две группы событий связаны с изменениями НД

Другие события
Событие OnCalcFields возникаетв момент, когда программа должна сформировать значения для вычисляемых полей. Следует заметить, что это событие возникает в момент открытия НД и при любом его изменени

ОСНОВНЫЕ ОСОБЕННОСТИ ТЕХНОЛОГИИ ADO
Особенности технология ADO (ActiveX Data Objects — объекты данных, построенные как объекты ActiveX) более подробно рассмотрены в подразделе 1.5. Здесь важно подчеркнуть следующее: 1. Основ

РЕАЛИЗАЦИЯ ТЕХНОЛОГИИ ADO В Delphi
Компоненты ADO в палитре компонентов Delphi представляют собой надстройки над базовыми объектами MS ADO и представляют большинство свойств, методов и событий этих объектов в привычном для De

Начало настройки связи
Установление связи с объектом ADO является ключевым моментом всей технологии. Каждый компонент НД имеет 2-а свойства, с помощью которых он может установить связь с объектом ADO: ü Con

Выбор провайдера
Выберите переключатель Use Connection String и щелкните на кнопке Build. На экране появится диалоговое окно с 4-мя вкладками. Вкладка Поставщик данных (рисунок 10.4) используется

Настройка провайдера Microsoft Jet 4.0 OLE DB Provider
Рисунок 7.5 – Выбор провайдера Microsoft Jet 4.0 OLE DB Provider Вкладка Подключение определяет необходимые связные парам

Настройка провайдера Microsoft OLE DB Provider for ODBC Drivers
Теперь опишем содержимое вкладок при выборе провайдера Microsoft OLE DB Provider for ODBC Drivers (рисунок 10.9). Первый, когда драйвер ODBC уже настроен на конкретную БД и создан псевдоним БД, а в

Настройка оставшихся компонент модуля данных
В свойстве Connection созданных компонентов-таблиц ADOTable сошлитесь на компонент ADOConnection1. Этого можно не делать, если вы поместили таблицы непосредственно на дерево компонентов. В этом слу

Связной компонент TADOConnection
Компонент TADOConnection осуществляет связь остальных компонентов с MS ADO. Для этих целей у компонента TADOConnection имеется свойство ConnectionString. После того как с помощью свойства Connectio

Компонент TADOCommand
Компонент TADOCommand предназначен в основном для реализации SQL-запросов, не возвращающих никаких данных. К ним относятся практически все запросы языка DLL, т.е. запросы, которые не начинаются зар

Общие свойства с BDE-компонентами
В состав ADO-компонентов входят 4 компонента-набора: TADODataSet, TADOTable, TADOTable и TADOStoredProc. Как и аналогичные BDE‑компоненты, они имеют общего родителя — абстрактный класс TDataS

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

КОМПОНЕНТ TADODataSet
Компонент TADODataSet обеспечивает доступ к одной или нескольким таблицам БД с помощью запроса типа SELECT. Компонент рассчитан только на возвращение набора данных, поэтому его нельзя использовать

КОМПОНЕНТ TADOTable
Компонент TADOTable является прямым аналогом BDE-компонента ТТаblе. Так же как ТТаblе, он способен получать и обслуживать НД, состоящий из записей единственной физической таблицы БД, имя которой со

Свойства
Таблица 8.1 - Свойства класса TColumn Свойство Описание typeTColumnButtonStyle = (cbsAuto, cbsEllips

Дополнительные возможности сетки
У компонента есть свойство, с помощью которого можно управлять поведением и внешним видом сетки: type TDBGridOption = (dgEditing, dgAlwaysShowEditor, dgTitles,

КОМПОНЕНТЫ ВИЗУАЛИЗАЦИИ ПОЛЕЙ ТЕКУЩЕЙ ЗАПИСИ
Компоненты визуализации полей текущей записи размещаются на обычной форме и используются для наглядного представления содержимого полей текущей записи (см. Chapt09\6CompVisualField\BiblosPrg.dpr).

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

Списочные компоненты
Визуализирующие компоненты типа TDBListBox, TDBComboBox, TDBLookupComboBox, TDBLookupListBox имеют связанные с ними списки TStrings и поэтому дальше объединяются общим названием списочные ко

Компонент TDBMemo
Компонент TDBMemo предназначен для отображения и редактирования мемо-полей (полей комментариев), которые служат для хранения в таблицах БД многострочных текстов. Компонент TDBMemo является аналогом

Компонент TDBCtrlGrid
Как уже говорилось, существует два способа визуализации данных - таблицы и формы. В таблицах пользователь может видеть одновременно несколько записей НД, что облегчает ему контроль за данными и выб

Компонент TDBNavigator
Строго говоря, компонент TDBNavigator (навигатор БД) не предназначен для отображения данных. Его назначение - дать пользователю программыудобное средство перемещения по записям НД и облегчить ему т

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги