Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Фурсов. Отбор данных: необходимо отобрать записи по заданному диапазону номеров касс, дат и фрагменту фио.
Методы обработчиков кнопок отбора данных: procedure TfrmBook.sbFindClick(Sender: TObject); var where: string; begin DM.qBook.DisableControls; DM.qBook.Close; where:=''; if edN1.text<>'' then where:='Num_cass>=:n1'; if edN2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Num_cass<=:n2'; 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 edFio.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Kod_cassir in (select Kod_cassir from Sprav_cass where Fio LIKE:fio)'; end; DM.qBook.SQL.clear; DM.qBook.SQL.add('SELECT * FROM CASS_BOOK '); if where<>'' then DM.qBook.SQL.add('WHERE '+where); DM.qBook.SQL.add('ORDER BY Data desc, Kod_cassir asc');
if edN1.text<>'' then DM.qBook.Parameters.ParamByName('n1').Value:=StrToInt(edN1.text); if edN2.text<>'' then DM.qBook.Parameters.ParamByName('n2').Value:=StrToInt(edN2.text); if edD1.text<>'' then DM.qBook.Parameters.ParamByName('d1').Value:= FormatDateTime('yyyy-mm-dd',StrToDate(edD1.text)); if edD2.text<>'' then DM.qBook.Parameters.ParamByName('d2').Value:= FormatDateTime('yyyy-mm-dd',StrToDate(edD2.text)); if edFio.text<>'' then DM.qBook.Parameters.ParamByName('fio').Value:='%'+edFio.Text+'%'; DM.qBook.Open; DM.qBook.EnableControls; end; Роман. Для номеров пар из заданного диапазона сформировать отчёт с группировкой по каждому корпусу и дням недели. Для каждой группы строк вывести общее количество студентов, резерв свободных мест, процент заполняемости аудиторий. CREATE PROCEDURE "Roman"."ParOtch" (in Para_num_beg integer, in Para_num_end integer) result(Corp_num varchar (10), Week_day varchar (20), Week_day_n varchar (2), Count integer, Rezerv integer, Zapolnyemost numeric (4,1)) BEGIN SELECT Corp_num, Week_day, CASE When Week_day='понедельник' then 1 When Week_day='вторник' then 2 When Week_day='среда' then 3 … When Week_day='суббота' then 6 end as Week_day_n, sum (Count),sum(Capacity-Count),100*sum(Count)/sum(Capacity) FROM Raspisanie as b JOIN Sprav_aud as ps on b.Aud_numb = ps.Aud_numb WHERE Para_num between Para_num_beg and Para_num_end group by Corp_num, Week_day order by Corp_num, Week_day_n END Роман.Отбор данных: Необходимо отобрать поставки по заданному диапазону номеров пар, количеству людей и фрагменту названия предмета. Методы обработчиков кнопок отбора данных: procedure TfrmBook.sbFindClick(Sender: TObject); var where: string; begin // Отключаем видимый компонент от НД DM.qBook.DisableControls; // Закрываем НД DM.qBook.Close; // строка составного условия where:=''; // Первый проход - формирование составного условия if edN1.text<>'' then where:='Para_Num>=:n1'; if edN2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Para_Num<=:n2'; end; if edD1.Text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Count>=:d1'; end; if edD2.text<>'' then begin if where<>'' then where:=where+' and ';
where:=where+'Count<=:d2'; end; if edPr.text<>'' then begin if where<>'' then where:=where+' and '; // where:=where+'Subject in (select Aud_numb from Sprav_aud where Aud_numb LIKE:aud)'; where:=where+'Subject in (select Subject from Raspisanie where Subject LIKE:sub)'; end; // формирование свойства SQL DM.qBook.SQL.clear; DM.qBook.SQL.add('SELECT * FROM RASPISANIE '); if where<>'' then DM.qBook.SQL.add('WHERE '+where); DM.qBook.SQL.add('ORDER BY Week_day asc,Para_num asc');
// Второй проход - подстановка значений параметров if edN1.text<>'' then DM.qBook.Parameters.ParamByName('n1').Value:=StrToInt(edN1.text); if edN2.text<>'' then DM.qBook.Parameters.ParamByName('n2').Value:=StrToInt(edN2.text); if edD1.text<>'' then DM.qBook.Parameters.ParamByName('d1').Value:=StrToInt(edD1.text); if edD2.text<>'' then DM.qBook.Parameters.ParamByName('d2').Value:=StrToInt(edD2.text); if edAud.text<>'' then
DM.qBook.Parameters.ParamByName('sub').Value:='%'+edPr.Text+'%'; // Открываем НД DM.qBook.Open; // Подключаем видимый компонент к НД DM.qBook.EnableControls; end;
Акс. Для заданного периода дат сформировать отчет с группировкой по арендаторам и месяцам. По каждой группе вывести количество счетов, общую и максимальную стоимость услуг. Арендатор должен удовлетворять следующим условиям: иметь форму собственности «ООО» в названии
Данил. 7. Для заданного диапазона номеров мест хранения товара сформировать отчет с группировкой по поставщикам и номерам мест хранения. По каждой группе вывести общее количество, свободный остаток. Величина резерва должна составлять не более заданного процента от количества товара в данном месте хранения. . Чикина.Задание: Сформировать отчет с группировкой по департаментам. Для каждой группы вывести общее количество отработанных дней, израсходованных средств и среднюю величину израсходованных средств. В отчет включать отделы с номерами из заданного диапазона.
Программный код процедуры: CREATE PROCEDURE "admin"."prd1"(in diapaz_begin integer, in diapaz_end integer) result (Depart varchar (50), Kol_otr integer, Izpas_sr numeric(11,2), Sred_Izras numeric(11,2)) BEGIN SELECT Depart, sum(kol_otr), sum(Izras_god), avg(Izras_god) FROM Sprav_Otdel as sp JOIN Kniga_Uch as k on sp.Kod_Otdel=k.Kod_Otdel WHERE sp.kod_otdel between diapaz_begin and diapaz_end
GROUP BY Depart END МартыновВариант 13 Сформировать отчет с группировкой по факультетам и годам набора (выделить из номера группы). По каждой группе вывести общее количество студентов, групп и среднее число студентов в группе. На факультете должно быть не менее заданного количества кафедр.
Схема БД из Sybase Central представлена на рис. 1. Текст процедуры: ALTER PROCEDURE "admin"."lab4.1procedure"(Kolvo_kaf integer) RESULT(Kratkoe_naim varchar(20), Year_post varchar(4), OB_kol_stud integer, Kol_gr integer, Avg_kol_stud numeric(10,2)) BEGIN select Kratkoe_naim, substr(Nom_gr,length(Nom_gr)-1) as Year_post, sum(isnull(Kol_stud_male,0)+isnull(Kol_stud_female,0)), count(ku.Kod_facult), avg(isnull(Kol_stud_male,0)+isnull(Kol_stud_female,0)) from Kniga_ucheta ku join Spravochnik_Facultetov sf on ku.Kod_facult=sf.Kod_facult where sf.Kol_kafedr>=Kolvo_kaf group by Kratkoe_naim, Year_post order by Kratkoe_naim, Year_post END
Шишков.22. Сформировать отчет за заданный год с группировкой по месяцам и моделям. По каждой группе вывести общую стоимость продаж, количество рекламаций и средний процент рекламаций. В отчет включать компьютеры, относящиеся к заданному типу.
Схема базы данных в Sybase Central представлена на рис. 1. Рис.1. Схема БД в Sybase Central Текст процедуры “ModelOverview” представлен на рис 2.
Драгулин. Сформировать отчет за заданный период времени с группировкой по участкам и месяцам. По каждой группе вывести количество отработанных дней, общее отработанное время и среднее отработанное время за день. В отчет включать участки заданного вида. CREATE PROCEDURE "Andrey"."PeriodVr" (in Data_beg date, in Data_end date,in v_type varchar(30)) result( Name_uch varchar (50), Month_rab varchar (7), Kolichestvo integer, Otr_vremya numeric(6,2), Sr_otr_vremya numeric(6,2))
BEGIN SELECT Name_uch, convert (varchar (4), Year(data))+ '-'+convert (varchar (2),Month(data)) as mes, count(Name_uch),sum(Datediff (minute,Vr_prikhoda,Vr_ukhoda)*0.016667), avg(Datediff (minute,Vr_prikhoda,Vr_ukhoda)*0.01666) FROM Book_ucheta as b JOIN Sprav_uch as su on b.Kod_uch = su.Kod_uch WHERE Data between Data_beg and Data_end and su.type_uch = v_type group by Name_uch, mes order by 1,2 END
Задания с развёрнутым ответом:
Банковская книга ЭТОТ ОТВЕТ СЧИТАЕТСЯ ОТЛИЧНЫМ TADOConnection – отвечает за подключение к БД.
ADOConnection» ConnectionString» Use connection string» Build» SQL Anywhere OLE DB Provider» источник данных» пользователь и пароль» проверить соединение Name=DB keepConnection = true – Для поддержания соединения. LoginPrompt true, после тестирования false Connected true, после тестирования false
TADOQuery -qBankbook – отправляет запрос и получает данные из БД. TADOConnection Connection=DB Name=qBankbook SQL» SELECT *FROM Bankbook Order by dataOper desc
TDataSource –dsBankbook помещает полученные данные в таблицы. Connection» DB DataSet=qBankbook Name= dsBankbook
TDBGrid DataSource=DM.dsBankbook
|
||||||
Последнее изменение этой страницы: 2020-12-17; просмотров: 54; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.220.126.5 (0.019 с.) |