Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

While not table1.eof do




Begin

Фильтрация данных.

ХОД РАБОТЫ

 

1.Создайте на диске D: в соей рабочей папке папку ПР_8.

2.Создайте псевдоним Stud для него установите путь.

3.Создайте таблицу Студент (Student.db) содержащую следующие поля:

 

Num (*)

 

Name

Surname

Group

Kurs

Ocenka1

Ocenka2

 

Stipend

 

4. ЗапуститеDelphi.

 

 

5. Поместите на форму компоненты Table, DataSource, DBGrid, DBNavigator и свяжите их с базой данных студент.

6. Запустите приложение и введите данные о 12 студентах, обучающихся в разных группах.

7. Для того чтобы в DBGrid показывались не все данные, а только их часть можно использовать фильтрацию таблиц. Просмотрим сведения о студентах 3 курса. Для этого установите на форму кнопку «Курс», по нажатию на которую, будет выполняться фильтрация данных. В методе, соответствующем событию OnClick для кнопки установить фильтрацию данных:

begin table1.filtered:=true;

table1.Filter:='Kurs=3'; {устанавливаем значение фильтра}

 

end;

 

8. Запустите приложение и нажмите на кнопку «Курс». В DBGrid отражаются только данные о студентах 3 курса.

9. Установите на форму компонент Edit для ввода номера курса.

10. В метод, соответствующий событию OnClick для кнопки внесите следующий изменения:

 

If edit1.text<>’’ then

table1.filtered:=true;

table1.Filter:='Kurs='+edit1.text; {устанавливаем значение фильтра} end;

 

Если edit1.text равно, например, 4, то значение фильтра будет Kurs=4

 

11. Запустите приложение, введите номер курса в Еdit1 и нажмите на кнопку «Курс». В DBGrid отражаются только данные о студентах выбранного курса.

12. Установите на форму кнопку «Отмена фильтра». (table1.filtered:=false;)

13. Условие фильтра может быть и составным. Например для просмотра всех отличников необходимо установить table1.Filter:='ocenka1=5 and ocenka2=5'. Установите на форму кнопку «Отличники» и проверьте работу фильтра.

 

Поиск записей в таблице.

14. Установите на форму еще один компонент edit, для ввода фамилии студента, для которого мы хотели бы получить данные.

15. Для поиска данных в общем случае (и для индексированных и для неиндексированных полей) можно использовать метод locate. Этот метод очень удобен, поскольку при наличии индекса для поля, по которому осуществляется поиск, Locate автоматически использует его; в противном случае осуществляется прямой (более медленный) поиск.

16. Установите кнопку «Точное совпадение», по нажатию на которую будет осуществляться переход на нужную запись. Пример использования метода Locate:

If not table1.locate(‘Surname’,edit2.text,[loCaseInsensitive]) then showmessage(‘Нет данных!’);

 

В методе Locate используются три аргумента:

 

§ Имя поля, по которому осуществляется поиск

§ Поисковое значение (целое, строка, вещественное и т.д.)

§ Набор опций, который используется для настройки поиска. Опция LoCaseInsensitive переводит поиск в режим, не различающий строчные и прописные буквы. Опция LoPartialKey означает, что BDE будет воспринимать как удовлетворяющие критерию записи, начало значений полей которых совпадает со значением поиска.

17. Установите кнопку«Поиск похожего»,по нажатию на которую будет осуществлятьсяпереход на наиболее похожую запись. Пример использования метода Locate:

 

If not table1.locate(‘Surname’,edit2.text,[LoPartialKey]) then showmessage(‘Нет данных!’);

 

Например, если edit1.text=’ива’, то указатель в таблице переместится на запись, где surName=’Иванов’

 

Подсчет итогов по столбцу таблицы.

 

18. Иногда приходится подводить итоги по некоторым полям всей таблице. Например, необходимо подсчитать сумму стипендий всех студентов. Для этого установите на форму под полем стипендия компонент Label и кнопку «Сумма».

19. В метод, соответствующий событию OnClick для кнопки внесите следующий код:

 

Sum:=0;

 

Table1.first;

 




Поделиться с друзьями:


Дата добавления: 2014-11-06; Просмотров: 399; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.