Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум ОА Цымбалюк.doc
Скачиваний:
6
Добавлен:
29.08.2019
Размер:
2.1 Mб
Скачать

Задание №8. Базы данных. Создание приложения Записная книжка

Цель занятия: Научиться создавать приложения для работы с базами данных

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

уметь: создавать приложения для работы с базами данных

Задание.

  1. Выберите в меню Пуск – Программы - CodeGear RAD Studio 2009 - C++Builder 2009

  2. Создание новое приложение (FileNewVCL Forms Application).

    1. Создание базы данных.

      1. Откройте программу MS Access. Создайте новую базу данных. В базе данных создайте таблицу Zap_kn:

      1. Заполните таблицу записями (не менее 5).

    1. Проектирование интерфейса приложения

      1. Переименуйте приложение на Записная книжка. Разместите на форму компоненты согласно рисунка.

      1. Измените свойство ConnectionString компонентов таблица и запрос на строку подключения к вашей базе данных.

      2. Соедините с помощью компонента DataSource1 запрос и окно вывода DBGrid1.

      3. Создание формы для поиска. Разместите на форму компоненты, согласно рисунка. В модуль главной формы добавьте включение модуля формы поиска (самостоятельно).

    1. Программирование приложения

      1. Добавьте процедуру при нажатии на кнопку Найти

Void __fastcall tForm1::BitBtn1Click(tObject *Sender)

{

Form2->Tag=0;

Form2->ShowModal();

if (Form2->Tag) { // \042 - 8-й код двойной кавычки

ADOQuery1->SQL->Text="SELECT * FROM Zap_kn WHERE Name LIKE \042"+ Form2->Edit1->Text + "\042";

if (CheckBox1->Checked) ShowMessage(ADOQuery1->SQL->Text);

ADOQuery1->Active=True;

ADOQuery1->Open(); // выполнить запрос

if (ADOQuery1->RecordCount != 0) DataSource1->DataSet =ADOQuery1;

else

{ ShowMessage("В базе данных нет запрашиваемой информации "+ Form2->Edit1->Text);

DataSource1->DataSet =ADOQuery1;

}

}

}

      1. Напишите процедуру – при нажатии на кнопку Все записи.

void __fastcall TForm1::Button1Click(TObject *Sender)

{

DataSource1->DataSet =ADOQuery1; //источник данных - таблица

}

      1. При закрытии формы напишите ADOTable1->Close();

      2. Перейдите на вторую форму. Напишите процедуру для события показа формы поиска

void __fastcall TForm2::FormShow(TObject *Sender)

{

Edit1->SetFocus();

}

      1. Пользователь нажал на кнопку поиска:

void __fastcall TForm2::Button1Click(TObject *Sender)

{

Tag=1; //пользователь нажал кнопку ОК

Close();

}

      1. Нажатие на кнопку ввода:

void __fastcall TForm2::Edit1KeyPress(TObject *Sender, wchar_t &Key)

{

if (Key==13) {Button1->SetFocus(); //переместить фокус

}

}

  1. Задание для самостоятельного выполнения:

  1. В статусной строке напишите отображение номера текущей записи:

void __fastcall TForm1::ADOQuery1AfterScroll(TDataSet *DataSet)

{

if (ADOTable1->RecNo!=-1)

StatusBar1->Panels->Items[0]->Text="Запись: "+IntToStr(ADOTable1->RecNo);

}

  1. Организуйте поиск информации по телефону.

  2. Организуйте поиск информации по сотовому телефону.

  3. Организуйте поиск информации по адресу электронной почты.

  4. Добавьте поле отдел в базу данных. Организуйте поиск данных по имени отдела.

  5. Добавьте главное меню на форму, в которое добавьте все перечисленные выше возможности поиска информации.

  6. Напишите процедуру при нажатии на кнопки для возможности редактирования данных таблицы (добавить, удалить, изменить)

  7. Добавьте меню для возможности редактирования данных таблицы (добавить, удалить, изменить)

  8. Добавьте контекстное меню для возможности редактирования данных таблицы (добавить, удалить, изменить)

  9. Добавьте возможность фильтрации данных на форме.

  10. Добавьте на форму вывод информации о текущей дате и времени.

  11. Создайте приложение Ежедневник для отображения запланированных мероприятий с помощью базы данных с полями: дата, мероприятие.

Сдайте работу преподавателю

Вопросы для контроля и самоконтроля:

  1. Компоненты для связи с базой данных.

  2. Свойства и методы.

  3. Запрос SQL. Синтаксис.