Разработка приложений баз данных в Delphi. Шейкер Т.Д. - 115 стр.

UptoLike

Составители: 

115
begin
with Query1 do
begin
Close;
Params[0].AsString:=
TabControl1.Tabs.Strings[TabControl1.TabIndex]+'%';
Open;
end;
end;
В результате выполнения запроса при переходе на нужную закладку в
компоненте DBGrid будут отображаться сведения о сотрудниках, у которых
фамилия начинается на выбранную букву.
5.3.3. Передача параметров через свойство DataSource
Рассмотрим создание связи «один-ко-многим» между двумя таблицами с
помощью компонента Query. По сравнению с использованием Table этот спо-
соб более гибок, так как не требует индексации по полям связи.
Компонент Query имеет свойство
DataSource, которое предназначено
для создания связи с другим DataSet. Не имеет значения, каким способом по-
лучен другой набор данных: компонентами Table, Query или другим потомком
TDataSet. Всё, что нужно для установления соединения, – это удостовериться,
что у нужного DataSet есть связанный с ним DataSource.
Пример 5.5. Связать таблицы customer и orders так, чтобы каждый раз,
когда пользователь выбирает имя заказчика, он видел список заказов, сделан-
ных этим заказчиком.
Расположим на форме компоненты Table1, DataSource1, DBGrid1 и свя-
жем
их между собой и с таблицей customer.
Расположим на форме второй набор компонентовQuery1, DataSource2,
DBGrid2 и свяжем объекты между собой.
Создадим связь между таблицами orders (Заказы) и customers (Заказчики)
так, что при просмотре конкретной записи о заказчике будут видны только за-
казы, связанные с ним. В свойстве
SQL компонента Query1 наберём текст за-
проса:
SELECT * FROM orders WHERE CustNo=:CustNo
begin
 with Query1 do
  begin
   Close;
     Params[0].AsString:=
     TabControl1.Tabs.Strings[TabControl1.TabIndex]+'%';
   Open;
  end;
end;
     В результате выполнения запроса при переходе на нужную закладку в
компоненте DBGrid будут отображаться сведения о сотрудниках, у которых
фамилия начинается на выбранную букву.

     5.3.3. Передача параметров через свойство DataSource
     Рассмотрим создание связи «один-ко-многим» между двумя таблицами с
помощью компонента Query. По сравнению с использованием Table этот спо-
соб более гибок, так как не требует индексации по полям связи.
     Компонент Query имеет свойство DataSource, которое предназначено
для создания связи с другим DataSet. Не имеет значения, каким способом по-
лучен другой набор данных: компонентами Table, Query или другим потомком
TDataSet. Всё, что нужно для установления соединения, – это удостовериться,
что у нужного DataSet есть связанный с ним DataSource.
     Пример 5.5. Связать таблицы customer и orders так, чтобы каждый раз,
когда пользователь выбирает имя заказчика, он видел список заказов, сделан-
ных этим заказчиком.
     Расположим на форме компоненты Table1, DataSource1, DBGrid1 и свя-
жем их между собой и с таблицей customer.
     Расположим на форме второй набор компонентов – Query1, DataSource2,
DBGrid2 и свяжем объекты между собой.
     Создадим связь между таблицами orders (Заказы) и customers (Заказчики)
так, что при просмотре конкретной записи о заказчике будут видны только за-
казы, связанные с ним. В свойстве SQL компонента Query1 наберём текст за-
проса: SELECT * FROM orders WHERE CustNo=:CustNo


                                     115