Создание базы данных "Телефонный справочник"

Автор работы: Пользователь скрыл имя, 09 Апреля 2013 в 09:01, курсовая работа

Описание работы

С начала 60-70хх началось бурное развитие компьютеризации всех крупных промышленных центров. Ближе к 80-ым, компьютеры стали появляться и в учебных заведениях, предмету «Информатика» стали уделять огромное внимание. Стали появляться языки программирования высокого уровня такие, как Delphi, C++.
Borland Delphi появляется в конце 1993 г. и сразу же завоевывает широкую популярность. Новые версии выходят практически каждый год. В них реализуются все новые мастера, компоненты и технологии программирования.

Содержание работы

Введение...................................................................................................................3
1. Общие сведения о языке программирования Delphi........................................6
1.1. Главное меню..........................................................................................7
1.1.1. Пиктографические кнопки...............................................................10
1.1.2. Настройки окон..................................................................................11
1.1.3. Палитра компонентов.......................................................................11
1.2. Окно формы..........................................................................................12
1.3. Окно кода программы..........................................................................13
2.Создание Базы данных «Телефонный справочник».......................................17
2.1. Delphi и базы данных..............................................................................17
2.2. Как создавать и использовать базы данных Access.......................17
2.3. Пример работы с базами данных.........................................................20
2.4. Создание Data Module.................................................................23
2.5. Создание таблицы: Справочник городов...........................................26
2.6. Создание окна: Редактирования........................................................29
2.7. Улучшенный пример с поисковыми полями......................................32
2.8. Сортировка...............................................................................................33
2.9. Язык запросов SQL.................................................................................34
2.10. Связанные таблицы...............................................................................35
Заключение.............................................................................................................39
Список используемой литературы.......................................................................40
Приложение Листинг программы........................................................................41

Файлы: 1 файл

Создание БД справочник.doc

— 896.50 Кб (Скачать файл)

Вторая запись в левой таблице принадлежит Нукенов Олжас. Смотрим в правой таблице записи, у которых в поле Link находиться число 2. Таких записей аж две (2-я и 3-я), значит у него есть два телефона.

Таким образом, мы связываем  две таблицы с помощью ключей. Когда мы создавали поисковые поля, у нас получалась связь, чем-то похожая на эту, только тогда главная таблица содержала поле Город которое подвязывалось под главный ключ справочника городов.

Теперь создавай новую  таблицу в режиме конструктора со следующими полями:

Key1 — счётчик, ключевое поле.

LinkKey   -   числовое   поле,   в   свойстве   (Индексированное   Поле)   укажи   (Да (Допускаются совпадения).

Телефон — текстовое, размер 10. Мобильник - логическое.

Сохраним таблицу под именем Телефоны.

Теперь запускаем Delphi. Откроем модуль с компонентами для доступа к данным и дважды щёлкни по компоненту BookTable. В редакторе полей выделим поле Телефон и удалим его кнопкой Del так же удалим поле Мобильник. Необходимо так же удалить эти же поля из компонента FindQuery плюс ещё здесь надо удалить поле Key1.

Теперь добавим сюда компоненты DataSource (назовем его TelephonSource) и ADOTable (назовем его TelephonTable) для доступа к таблице «Телефоны». Наведем свойство DataSource компонента TelephonSource на TelephonTable.

Теперь установим следующие свойства компонента TelephonTable:

Connection   -   укажем   здесь  компонент   присоединения ADOConnection 1.

TableName — здесь укажем имя таблицы Телефоны.

Active — установим в true, чтобы открыть таблицу.

MasterSource – выберем здесь из выпадающего списка BookSource. Этим  указывается главная таблица для таблицы Телефонов.

MasterFields — здесь надо казать связующие поля. Щёлкнем по этому полю дважды и откроется окно. В списке Detail Fields выберим поле LinkKey, а в списке Master Fields выберем поле Key1. Кликнуть кнопку Add и в списке Joined Fields появиться строка отображающая выделенную связь. Закроем окно кнопкой ОК чтобы сохранить указанную связь.

 

 

Рисунок 31. Окно создания связей между главной и подчинённой таблицей

 

Теперь дважды щёлкнем по компоненту TelephonTable, чтобы увидеть окно редактирования свойств полей. Здесь  надо добавить поля, чтобы  можно было обращаться к ним потом по именам и спрятать первые два поля.

Теперь откроем главную форму и добавим сюда ещё одну сетку DBGrid как на рисунке 32. У сетки нужно изменить только свойство DataSource указав там таблицу телефонов DataModule1. TelephonSource.

 

Рисунок 32 Улучшенная главная форма программы

 

Теперь давай подправим  наш запрос на поиск по телефону. Откроем модуль данных и введем в компонент FindQuery следующий запрос:

 

SELECT *

FROM Справочник, Телефоны

WHERE Телефон LIKE :Telephone

AND Справочник.Key1=Телефоны.LinkK

Здесь уже  выбираются все поля из двух таблиц, где есть записи с указанным значением телефона. К тому же здесь указана связь между таблицами.

Закроем редактор SQL запроса и дважды щёлкни по компоненту FindQuery. В редакторе свойств полей щёлкнем правой кнопкой мыши и выберем  пункт Add All Fields. В редактор будут добавлены все новые поля, которых в нём не было.

Спрячем ключевые поля, потому что пользователь не должен их видеть.

По нажатию пункта меню «По фамилии» из меню «Сортировка» напиши следующий код:

 

DataModule1 .BookTable.Sort:='Фамилия ASC';

 

Пункт  меню   «По   телефону»   можно  убирать,  а вместо   него    сделаем сортировку по городу. По его нажатию пиши следующий код:

DataModule1 .BookTable.Sort:='Город ASC';

На этом в принципе все программу можно сохранять  и запускать.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

 

В результате выполнения курсовой работы мною было создано приложение для работы с базой данных (dBase).

Данный курсовой проект является актуальным и отвечает предъявленым к нему требованиям. Была разработана и написана, на языке программирования высокого уровня Borland Delphi 7, с использованием баз данных. Данная программа написана для удобного просмотра, поиска, добавлением, изменением и удалением телефонных контактов.

Представленная программа  обладает следующими характеристиками:

  • функциональностью, то есть полнотой удовлетворения пользователя;
  • наглядностью, удобством, интуитивно понятным и привычным для пользователя интерфейсом;
  • универсальностью и доступностью рядовому пользователю;
  • достоверностью и эффективностью информации;
  • добавляет новую информацию;
  • подлежит модификации программистом;

В ходе разработки курсовой работы был произведен детальный  анализ объекта и запущенна программное  обеспечение на основе программно ориентированной  среды разработки приложений Delphi7, в качестве СУБД было использовано офисное приложение Microsoft Access 2003.

В процессе разработки СУБД был использован уклон на реляционный подход.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Cписок использованной литературы

1)Delphi7. Пособие для студентов/ А.В. Маткаримов.- Саяногорск, 2006г.

2) Малый энциклопедический словарь Брокгауза и Ефрона

3) Delhphi 4.0, Дарахвелидзе П.Г., Марков Е. П. 1998, 816 с.

4) Сайт http://delhpi.mastak.ru

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение. Листинг программы

 

rogram TelBook;

 

uses

  Forms,

  BookTel in 'BookTel.pas' {Form1},

  DataModuleUnit in 'DataModuleUnit.pas' {DataModule1: TDataModule},

  TownBookUnit in 'TownBookUnit.pas' {TownBookForm},

  EditRecordUnit in 'EditRecordUnit.pas' {EditRecordForm},

  FindResultUnit in 'FindResultUnit.pas' {FindResultform},

  PhoneUnit in 'PhoneUnit.pas' {PhoneEditForm},

  Pro in 'Pro.pas' {AboutForm};

 

{$R *.RES}

 

begin

  Application.Initialize;

  Application.CreateForm(TForm1, Form1);

  Application.CreateForm(TDataModule1, DataModule1);

  Application.CreateForm(TTownBookForm, TownBookForm);

  Application.CreateForm(TEditRecordForm, EditRecordForm);

  Application.CreateForm(TFindResultform, FindResultform);

  Application.CreateForm(TPhoneEditForm, PhoneEditForm);

  Application.CreateForm(TAboutForm, AboutForm);

  Application.Run;

end.

 

nit TownBookUnit;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls;

 

type

  TTownBookForm = class(TForm)

    Panel1: TPanel;

    DBGrid1: TDBGrid;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    BitBtn3: TBitBtn;

    BitBtn4: TBitBtn;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure BitBtn3Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var  TownBookForm: TTownBookForm;

implementation

uses DataModuleUnit;

{$R *.dfm}

 

procedure TTownBookForm.BitBtn1Click(Sender: TObject);

begin

DataModule1.TownTable.Insert;

DBGrid1.SetFocus;

end;

 

procedure TTownBookForm.BitBtn2Click(Sender: TObject);

begin

if DataModule1.TownTable.Modified Then

DataModule1.TownTable.Post;

end;

 

procedure TTownBookForm.BitBtn3Click(Sender: TObject);

begin

DataModule1.TownTable.Delete;

end;

 

end.

 

unit EditRecordUnit;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ExtCtrls, StdCtrls, Buttons, Mask, DBCtrls, Grids, DBGrids, jpeg;

type

  TEditRecordForm = class(TForm)

    Panel1: TPanel;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    DBEdit1: TDBEdit;

    DBEdit2: TDBEdit;

    DBEdit4: TDBEdit;

    Label1: TLabel;

    Label2: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    DBLookupComboBox1: TDBLookupComboBox;

    SpeedButton1: TSpeedButton;

    SpeedButton2: TSpeedButton;

    SpeedButton3: TSpeedButton;

    Image1: TImage;

    DBGrid1: TDBGrid;

    DBEdit5: TDBEdit;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure SpeedButton1Click(Sender: TObject);

    procedure SpeedButton2Click(Sender: TObject);

    procedure SpeedButton3Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  EditRecordForm: TEditRecordForm;

 

implementation

 

uses BookTel, DataModuleUnit, PhoneUnit;

 

{$R *.dfm}

 

procedure TEditRecordForm.BitBtn1Click(Sender: TObject);

begin

If DataModule1.TelephonTable.Modified then

DataModule1.TelephonTable.Post;

Close;

end;

 

procedure TEditRecordForm.BitBtn2Click(Sender: TObject);

begin

DataModule1.TelephonTable.Cancel;

Close;

end;

 

procedure TEditRecordForm.SpeedButton1Click(Sender: TObject);

begin

DataModule1.TelephonTable.Insert;

PhoneEditForm.ShowModal;

end;

 

procedure TEditRecordForm.SpeedButton2Click(Sender: TObject);

begin

PhoneEditForm.ShowModal;

end;

 

procedure TEditRecordForm.SpeedButton3Click(Sender: TObject);

begin

if Application.MessageBox(PChar('Вы действительно хотите удалить '+DataModule1.TelephonTableDSDesigner.AsString), 'Увага!!!', MB_OKCANCEL)=id_OK then

DataModule1.TelephonTable.Delete;

end;

 

end.



- -

 


Информация о работе Создание базы данных "Телефонный справочник"