Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Дано описание таблицы БД. Реализовать отбор данных. Указать перечень, полей, перечень компонентов и написать метод отбора данных. Использовать не менее 5 полей для условий отбора.
Рекламаций procedure TfrmBook.sbFindClick(Sender: TObject); var where: string; begin DM.qBook.DisableControls; DM.qBook.Close;
where:=''; if edD1.text <> '' then wher:='Year>=:d1' if edD2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Year’<=:d2'; end;
if edM1.text <> '' then where:='Month>=:m1' if edM2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Month’<=:m2'; end;
if edMod.text<>'' then begin if where<>'' then where:=where +' and '; where:=where+ 'Kod_mod in(select Kod_mod from Kniga_recl where Naim LIKE:mod)'; end;
if edC1.text <> '' then where:='Price>=:c1' if edC2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Price’<=:c2'; end;
if edP1.text <> '' then where:='Prodeno>=:p1' if edP2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Prodano’<=:p2'; end;
if edKr1.text <> '' then where:='Kol_recl>=:Kr1' if edKr2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Kol_recl<=:Kr2'; end;
DM.qBook.SQL.clear; DM.qBook.SQL.add('SELECT * FROM Kniga_recl '); if where<>'' then DM.qBook.SQL.add('WHERE '+where); DM.qBook.SQL.add('ORDER BY Year, Month ');
if edD1.text<>'' then DM.qBook.Parameters.ParamByName('d1').Value:=StrToInt(edN1.text); if edD2.text<>'' then DM.qBook.Parameters.ParamByName('d2').Value:=StrToInt(edN2.text);
if edM1.text<>'' then DM.qBook.Parameters.ParamByName('m1').Value:=StrToInt(edD1.text); if edM2.text<>'' then DM.qBook.Parameters.ParamByName('m2').Value:=StrToInt(edD2.text);
if edmod.text<>'' then DM.qBook.Parameters.ParamByName('mod').Value:='%'+edmod.Text+'%';
if edC1.Text<>'' then DM.qBook.Parameters.ParamByName('c1').Value:=StrToInt(edC1.text); if edC2.Text<>'' then DM.qBook.Parameters.ParamByName('c2').Value:=StrToInt(edC2.text);
if edP1.Text<>'' then DM.qBook.Parameters.ParamByName('p1').Value:=StrToInt(edC1.text); if edP2.Text<>'' then DM.qBook.Parameters.ParamByName('p2').Value:=StrToInt(edC2.text);
if edKr1.Text<>'' then DM.qBook.Parameters.ParamByName('Kr1').Value:=StrToInt(edC1.text); if edKr2.Text<>'' then DM.qBook.Parameters.ParamByName('Kr2').Value:=StrToInt(edC2.text);
DM.qBook.Open; DM.qBook.EnableControls; end; 15 баллов из 30
Таблица Bookrekl (Книга рекламаций) включает поля: Год, месяц, модель компьютера, цена, количество проданных компьютеров, количество рекламаций (возвратов)
20.Дано описание таблицы БД. Реализовать отбор данных. Указать перечень, полей, перечень компонентов и написать метод отбора данных. Использовать не менее 5 полей для условий отбора Таблица Bookuch (Книга учета) включает поля: Номер поезда, номер вагона, дата, код проводника, число жалоб, число благодарностей. ЭТОТ ОТВЕТ СЧИТАЕТСЯ ХОРОШИМ (25 из 30) Отбор данных: Необходимо отобрать записи по заданному диапазону номеров поездов, номеров вагонов, дате, кодам проводника, числу жалоб. Добавим на панель 10 меток TLabel для задания диапазонов номеров поездов, номеров вагонов, дат, кодов проводника, числу жалоб.
-Текстовое поле ed1 будет использоваться для задания начального номера поезда -Текстовое поле ed2 будет использоваться для задания конечного номера поезда -Текстовое поле ed3 будет использоваться для задания начального номера вагона -Текстовое поле ed4 будет использоваться для задания конечного номера вагона -Текстовое поле ed5 будет использоваться для задания начальной даты -Текстовое поле ed6 будет использоваться для задания конечной даты -Текстовое поле ed7 будет использоваться для задания начального кода проводника -Текстовое поле ed8 будет использоваться для задания конечного кода проводника -Текстовое поле ed9 будет использоваться для задания начального числа жалоб -Текстовое поле ed10 будет использоваться для задания конечного числа жалоб
procedure TfrmBook.sbFindClick(Sender: TObject); var where: string; begin DM.qBook.DisableControls; DM.qBook.Close; where:=''; if ed1.text<>'' then where:='Nomer_poezda>=:p1'; if ed2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Nomer_poezda’<=:p2'; end; if ed3.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Nomer_vagona’>=:p3'; end; if ed4.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Nomer_vagona’ <=:p4’; end; if ed5.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+’Dat’ >=:p5'; end; if ed6.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+’Dat’ <=:p6’; end; if ed7.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+’Kod_prov’ >=:p7'; end; if ed8.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+’Kod_prov’ <=:p8’; end; if ed9.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+’Count_g’ >=:p9'; end; if ed10.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+’Count_g’ <=:p10’; end;
DM.qBook.SQL.clear; DM.qBook.SQL.add('SELECT * FROM Bookuch '); if where<>'' then DM.qBook.SQL.add('WHERE '+where); DM.qBook.SQL.add('ORDER BY Nomer_poezda asc, Nomer_vagona asc');
if ed1.text<>'' then DM.qBook.Parameters.ParamByName('p1').Value:=StrToInt(ed1.text); if ed2.text<>'' then DM.qBook.Parameters.ParamByName('p2').Value:=StrToInt(ed2.text); if ed3.text<>'' then DM.qBook.Parameters.ParamByName('p3').Value:=StrToInt(ed3.text); if ed4.text<>'' then DM.qBook.Parameters.ParamByName('p4').Value:=StrToInt(ed4.text); if ed5.text<>'' then DM.qBook.Parameters.ParamByName('p5').Value:= FormatDateTime('yyyy-mm-dd',StrToDate(ed5.text)); if ed6.text<>'' then DM.qBook.Parameters.ParamByName('p6').Value:= FormatDateTime('yyyy-mm-dd',StrToDate(ed6.text)); if ed7.text<>'' then
DM.qBook.Parameters.ParamByName('p7').Value:=StrToInt(ed7.text); if ed8.text<>'' then DM.qBook.Parameters.ParamByName('p8').Value:=StrToInt(ed8.text); if ed9.text<>'' then DM.qBook.Parameters.ParamByName('p9').Value:=StrToInt(ed9.text); if ed10.text<>'' then DM.qBook.Parameters.ParamByName('p10').Value:=StrToInt(ed10.text);
DM.qBook.Open; DM.qBook.EnableControls; end; 25 из 30
Другой ответ Текст метода расчета вычисляемого поля: procedure TDM.qBookCalcFields(DataSet: TDataSet); begin qBookPM.AsInteger:= qBookChislo_blagodarn.AsInteger-qBookChislo_zhalob.AsInteger; end;
Текст события открытия формы (onShow): procedure TfrmBook.FormShow(Sender: TObject); begin if not DM.qProv.Active then DM.qProv.Open; if not DM.qBook.Active then DM.qBook.Open; end;
Текст обработчика пункта меню вызова формы просмотра основной таблицы: procedure TfrmMain.ProvNClick(Sender: TObject); begin with TfrmBook.Create(application) do try ShowModal; finally Free; end; end;
Текст события нажатия кнопки Отмена: procedure TfrmBook.sbClearClick(Sender: TObject); begin DM.qBook.DisableControls; edN1.Clear; edN2.Clear; edD1.Clear; edD2.Clear; edFIO.Clear; DM.qBook.Close; DM.qBook.SQL.Text:= 'SELECT * FROM Kniga_ycheta ORDER BY Number_vagona'; DM.qBook.Open; DM.qBook.EnableControls; end;
Текст обработчика отбора данных: procedure TfrmBook.sbFindClick(Sender: TObject); begin DM.qBook.DisableControls; // Отключаем видимый компонент от НД DM.qBook.Close; // Закрываем НД where:=''; // строка составного условия
// Первый проход - формирование составного условия if edN1.text<>'' then where:='Number_vagona>=:n1'; if edN2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Number_vagona<=:n2'; end;
if edD1.Text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Date_otpr>=:d1'; end; if edD2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Date_otpr<=:d2'; end;
if edFIO.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Kod_provod in (select Kod_provod from Spravochnik_provodnikov where FIO LIKE:FI)'; end;
// формирование свойства SQL DM.qBook.SQL.clear; DM.qBook.SQL.add('SELECT * FROM Kniga_ycheta ');
if where<>'' then DM.qBook.SQL.add('WHERE '+where); DM.qBook.SQL.add('ORDER BY Date_otpr desc,Number_vagona desc');
// Второй проход - подстановка значений параметров 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('FI').Value:='%'+edFIO.Text+'%';
DM.qBook.Open; // Открываем НД DM.qBook.EnableControls; // Подключаем видимый компонент к НД end; 23 из 30. 20.Дано описание таблицы БД. Реализовать отбор данных. Указать перечень, полей, перечень компонентов и написать метод отбора данных. Использовать не менее 5 полей для условий отбора Таблица Bookusp (Книга успеваемости) включает поля: Факультет, номер группы, код предмета, ФИО студента, срок сдачи задолженности, дата сдачи задолженности ЭТОТ ОТВЕТ СЧИТАЕТСЯ ХОРОШИМ (24 из 30) Таблица содержит следующие поля: Факультет(fakult),номер группы(nomgroup),код предмета(kod_predm),ФИО студента(FIO),срок сдачи задолженности(srok_zdach), дата сдачи задолженности(data_sdach) Форма содержит компоненты: DBGrid1-для вывода таблицы с данными Компоненты TEdit edfakult=текстовое поле для вывода Факультета edNGr=текстовое поле для вывода Номера группы edKod=текстовое поле для вывода кода предмета edFIO=текстовое поле для вывода ФИО студента edSrok=текстовое поле для вывода срока сдачи задолженности eddatasdach=текстовое поле для вывода датs сдачи задолженности
Добавим 2 элемента SpeedButton для действий - 1. Поиск 2. Отмена Элементы Label для вывода текста? описывающего поле ввода procedure TfrmBook.sbFindClick(Sender: TObject); var where: string; begin DM.qBook.DisableControls;
DM.qBook.Close;
where:=''; if edNGr.text <> '' then if where <> '' then where:=where +'and'; where: = where + 'NomGroup LIKE:nom'; end;
if edKod.text<>'' then where:='Kod_predm>=:kod';
if edFIO.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'FIO_stud<=:fio'; end;
if edSrok.Text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'dat>=:srok'; end;
if edDataSdach.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'dat<=:data'; end;
DM.qBook.SQL.clear; DM.qBook.SQL.add('SELECT * FROM Bookuch '); if where<>'' then DM.qBook.SQL.add('WHERE '+where); DM.qBook.SQL.add('ORDER BY Id_book_uch,fakult ');
if edNGr.text<>'' then DM.qBook.Parameters.ParamByName('nom').Value:StrToInt(edNGr.text);
if edKod.text<>'' then DM.qBook.Parameters.ParamByName('kod').Value:=StrToInt(edKod.text); if edFIO.text<>'' then DM.qBook.Parameters.ParamByName('fio').Value:=StrToInt(edFIO.text);
if edSrok.text<>'' then DM.qBook.Parameters.ParamByName('srok').Value:= FormatDateTime('yyyy-mm-dd',StrToDate(edSrok.text)); if eddatasdach.text<>'' then DM.qBook.Parameters.ParamByName('data').Value:= FormatDateTime('yyyy-mm-dd',StrToDate(eddatasdach.text)); DM.qBook.Open; DM.qBook.EnableControls; end;
|
|||||||
Последнее изменение этой страницы: 2020-12-17; просмотров: 108; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.71.237 (0.046 с.) |