Дано описание таблицы БД . Реализовать отбор данных. Банк. Книга 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Дано описание таблицы БД . Реализовать отбор данных. Банк. Книга



ЭТОТ ОТВЕТ СЧИТАЕТСЯ ОТЛИЧНЫМ

Перечень компонентов для отбора данных:

 

edN1-номер расчетного

edD1,edD2- дата с _ по_

edK1- контрагент

edV1-вид операции

 

5 TЕdit – для каждого поля фильтрации;

5 TLable – для подписи каждого поля;

TButton – для отправки запроса к БД;

TDBGrid – для вывода полученного ответа от БД.

 

Метод составления SQL запроса:

procedure TfrmBank.sbFindClick(Sender: TObject);

var where: string;

begin

DM.qBank.DisableControls;

DM.qBank.Close;

where:='';

if edN1.text<>'' then begin

if where<>'' then

where:=where+' and ';

where:=where+'NomerRasch LIKE:NR';

end;

if edD1.Text<>'' then begin

if where<>'' then

where:=where+' and ';

where:=where+'data>=:d1';

end;

if edD2.text<>'' then begin

if where<>'' then

where:=where+' and ';

where:=where+'data<=:d2';

end;

if edK1.text<>'' then begin

if where<>'' then

where:=where+' and ';

where:=where+'Kontr LIKE:K';

end;

if edV1.text<>'' then begin

if where<>'' then

where:=where+' and ';

where:=where+'Vid LIKE:V';

end;

DM.qBank.SQL.clear;

DM.qBank.SQL.add('SELECT * FROM Bank ');

if where<>'' then

DM.qBank.SQL.add('WHERE '+where);

DM.qBank.SQL.add('ORDER BY data desc');

if edN1.text<>'' then

DM.qBank.Parameters.ParamByName('NR').Value:='%'+edN1.Text+'%';

 

if edD1.text<>'' then

 

DM.qBank.Parameters.ParamByName('d1').Value:=

FormatDateTime('yyyy-mm-dd',StrToDate(edD1.text));

if edD2.text<>'' then

DM.qBank.Parameters.ParamByName('d2').Value:=

FormatDateTime('yyyy-mm-dd',StrToDate(edD2.text));

if edK1.text<>'' then

DM.qBank.Parameters.ParamByName('K').Value:='%'+edK1.Text+'%';

if edV1.text<>'' then

DM.qBank.Parameters.ParamByName('V').Value:='%'+edV1.Text+'%';

DM.qBank.Open;

DM.qBank.EnableControls;

end;

 

21.Книга рекламаций: Год, месяц, код модели компьютера, цена, продано, количество рекламаций. Справочник моделей: Код модели, наименование модели, тип.

Сформировать отчет за заданный год с группировкой по месяцам с расчетом общей стоимости продаж, количества рекламаций и максимального процента рекламаций. В отчет включать компьютеры, относящиеся к заданному типу CREATE PROCEDURE "Admin"."KnigaReclam"(in god integer, in vid_v varchar(20))

ЭТОТ ОТВЕТ СЧИТАЕТСЯ ХОРОШИМ (25 из 30)


result(
Mes integer,
NaimModel varchar(20),
Stoimost numeric(10,2),
Kol integer,
MaxProc numeric(10,2)
BEGIN
SELECT
KR.Mes,S.Naim
, sum(KR.Kol_vo*KR.Cena),
Count(*) as Kol_vo,
100*(sum(Prodano)/sum(Kol_vo)
FROM KnigaRecl as KR
JOIN Sprav as S on KR.KodModel= S.KodModel
WHERE vid_val = vid_v and god_r=god
group by KR.Mes
order by KR.Mes
END

 

19.Дано описание таблицы БД. Для работы с таблицей указать в модуле данных перечень необходимых компонентов и настройку их свойств. Предусмотреть наличие производных полей. Таблица Bookusp (учет экзаменационной сессии) включает следующие поля: Номер группы, дата экзамена, дисциплина, ФИО преподавателя, кол-во 5, кол-во,4 кол-во 3, кол-во 2.

Необходимо добавить компоненты:

 - TADOConnection

Свойства:

Name=ADOCon

Connected=True

KeepConnecting=True

ConnectionString для соединения с БД

 

 - TADOQuery

Свойства:

Name=qBook

Connection=ADOCon

SQL с запросом на получение данных из БД

 

 - TDataSource

Свойства:

Name=dsBook

DataSet=qBook

 

Для производных полей использовать свойства AutoCalcFields.

Поле "кол-во 1"(Kolvo1) будет рассчитываться из полей "кол-во 5" и "кол-во 4".

procedure TDM.qBookCalcFields(DataSet: TDataSet);

begin

qBookKolvo1.AsFloat:=qBookKolvo5.AsFloat+qBookKolvo4.AsFloat;

end;

14 из 16

 

Другой ответ

ЭТОТ ОТВЕТ СЧИТАЕТСЯ ХОРОШИМ (14 из 16)

 

Для работы с данными используются компоненты:

- компонент соединения с БД TADOConnection (вкладка ADO);

- компонент набор данных типа запрос TADOQuery (вкладка ADO) для каждой

таблицы БД;

- компонент-диспетчер TDataSource (закладка Data Access); Используется для

связывания компонента набора данных с компонентами отображения данных.

Форма модуль данных с размещенными компонентами для

работы с БД, включающей таблицу (книга услуг Bookusp):

- компонент TADOConnection (Name=DB)

Свойства:

Connected=True

KeepConnecting=True

- компонент запрос TADOQuery (Name=qBook). Компонент представляет таблицу БД Учета экзаменации сессии

Свойства:

Connection=ADOCon

SQL с запросом на получение данных из БД

- компонент-диспетчер TDataSource (Name=dsBook), связанный с набором данных qBook

Для указания источника данных (базы данных) в компоненте

соединения с БД используется свойство ConnectionString.

Для производных полей использовать свойство AutoCalcFields.

 

Производным полем будет сделано поле: количество сдавших сессию, которая рассчитывается по формуле:

колво 5 + колво 4 + колво 3 - колво 2

для этого в свойствах сделаем новое поле c в модуле данных с именем sdalo_sessiy,

со свойствами:

FieldKind: fkCalculated

 

Процедура будет выглядеть следующим образом:

procedure TDM.qBookCalcFields(DataSet: TDataSet);

begin

qBookSdalo_sessiy.AsFloat:= qBookCount5.AsFloat+qBookCount4.AsFloat + qBookCount3.AsFloat -qBookCount2.AsFloat

end;

 

 



Поделиться:


Последнее изменение этой страницы: 2020-12-17; просмотров: 45; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.233.41 (0.007 с.)