Разработка приложения "Автосалон"

Характеристика программных продуктов: MySQL, MSSQL, MSAccess. Разработка базы данных в среде C++Builder. Описание таблиц и установление связей между ними. Реализация функций просмотра, добавления, редактирования БД с применением языка запросов SQL.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 13.06.2015
Размер файла 393,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

1

Введение

В данном курсовом проекте будет спроектировнна база данных «Автосалон» по средствам СУБД MicroSoft Office Access. База данных будет хранить в себе таблицы и связи между собой, по средствам ключевых полей. Все связи будут один-к-одному и один-ко-многим чтобы не нарушалась целостность данных. В среде разрабоки C++ Builder будет разработанно приложение "Автосалон" для обслуживания одноимённой базы данных. В приложении будет реализованны возможности просмотра, добавления, редактирования и удаления базы данных. Для реализации этих функций используется язык запросов SQL.

builder таблица запрос msaccess

1. Задание

Постановка задачи

Задание:

Спроектировать базу данных «Автосалон»;

Разработать приложение «Автосалон», для базы данных «Автосалон».

2. Проектирование базы данных

2.1 Выбор СУБД

Для выполнения поставленной задачи, необходимо использовать базу данных. Т.к в данное время существует множество различных субд, необходимо подобрать подходящую, обладающую следующими условиями: сетевой интерфейс, реляционная система управления базами данных,кроссплатформенная api (c++).

Под эти критерия подходят несколько программных продуктов: MySQL, MSSQL, MSAccess. Рассмотрим каждый из них по отдельности.

2.1.1 MSSQL

MSSQL-система управления реляционными базами данных (СУРБД), разработанная корпорацией Microsoft. Основной используемый язык запросов -- Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка. Для организации базы данных, в этом продукте, необходимо устанавливать и настраивать сервер.

2.1.2 MySQL

MySQL -свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц. Для организации базы данных, в этом продукте, необходимо устанавливать и настраивать сервер.

2.1.3 Microsoft Access

Microsoft Access - реляционная субд корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных. Язык запросов Transact-SQL. Для реализации базы данных в этом программном продукте, нет необходимости устанавливать и настраивать серверную машину. Достаточно создать фаил базы.

2.2 Структура базы данных

Из выше перечисленных СУБД, более подходящая для разработки приложения «Автосалон» является MS Access. Приступим к разработке базы данных.

Рисунок 1 - ER-диаграмма

Как показано на Рисунке 1, в базе присутствует 10 таблиц. Опишем структуру каждой из них.

Таблица "Производитель" имеет 2 поля: "Код производителя" и "Название производителя". "Код производителя" имеет числовой тип, а "Название производителя" - строковый.

Таблица "Модель" имеет 3 поля: "Код модели", "Название модели" и "Код производителя (FK)". "Код модели" и "Код производителя (FK)" имеют числовой тип, а "Название модели" - строковый. "Код производителя (FK)" - внешний ключ для связи с таблицей "Производитель".

Таблица "Комплектация" имеет 7 полей: "Код комплектации", "Название комплектации", "Код модели (FK)", "Цена комплектации", "Год выпуска", "Тип привода" и "Тип топлива". "Код комплектации", "Код модели (FK)", "Цена комплектации" и "Год выпуска" имеют числовой тип, а "Название комплектации", "Тип привода" и "Тип топлива" - строковый. "Код модели (FK)" - внешний ключ для связи с таблицей "Модель".

Таблица "Цвет" имеет 3 поля: "Код цвета", "Тип цвета" и "Название цвета".

Таблица "Клиент" имеет 5 полей: "Код клиента", "Фамилия", "Имя", "Отчество" и "Телефон".

Таблица "Автомобиль" имеет 8 полей: "Код автомобиля", "Код клиента (FK)", "Код цвета (FK)", "Код комплектации (FK)", "Дата продажи", "Тип покупки", "Ежемесячный платёж" и "Количество месяцев рассрочки".

Таблица "Тип аксессуара" имеет 2 поля: "Код типа аксессуара" и "Название типа аксессуара".

Таблица "Аксессуар" имеет 5 полей: "Код аксессуара", "Код типа аксессуара (FK)", "Код модели (FK)", "Название аксессуара" и "Цена аксессуара".

Таблица "Заявка" имеет 3 поля: "Код заявки", "Код клиента (FK)" и "Дата заявки".

Таблица "Проданный аксессуар" имеет 4 поля: "Код продажи аксессуара", "Код аксессуара (FK)", "Код заявки (FK)" и "Количество".

3. Разработка интерфейса

3.1 Среда разработки

C++ Builder -программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке программирования C++.Изначально разрабатывался компанией Borland Software, а затем её подразделением CodeGear, ныне принадлежащим компании Embarcadero Technologies.C++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но обратное утверждение не верно.C++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG -- редактору интерфейса и пр.

3.2 Приложение «Автосалон»

Для реализации на BorlandC++ Builder 6.0, нам потребуются несколько компонентов из разных палитр компонентов. Перечислим их ниже:

- вкладка ADO, компонент TADOQuery;

- вкладка ADO, компонент TADOConnection;

- вкладка Additional, компонентTImage;

- вкладка Standart, компонент TEdit;

- вкладка Standart, компонент TButton;

- вкладка Standart, компонент TLabel;

- вкладка Standart, компонент TComboBox.

3.2.1 Главный экран программы

Главный экран программы загружается при открытии программы. Он содержит кнопки для перехода по вкладкам. Каждой кнопке соответствует вкладка с таким же именем.

Рисунок 2 - Главный экран программы

3.2.2 Экран подключения базы данных

Экран подключения базы данных окрывается в том случае, если файл базы данных не был обнаружен. Этот экран позволяет подключить недостащий файл.

Рисунок 3 - Экран подключения базы данных

При нажатии на кнопку "..." открывается окно выбора файла:

Рисунок 4 - Окно выбора файла базы данных

При нажатии на кнопку "Подключить" запускается процедура подключения базы данных и привязка таблиц БД к объектам программы.

3.2.3 Экран "Производители"

Экран "Производители" содержит всю информацию о производителях автомобилей. Эта информация представлена с помощью объектов TDBGrid и TImage. В TDBGrid содержатся названия производителей. С помощью этого объекта можно перемещаться между производителями. При перемещении в объекте TImage отоброжается логотип производителя, который берется из файла формата BMP. Если файл с изображением отсутствует то логотип заменяется на стандартное изображение.

Рисунок 5 - Эран "Производители"

Рисунок 6 - Эран "Производители" при отсутствии логотипа

3.2.4 Экран "Клиенты"

Экран "Клиенты" содержит информацию о клиентах. Вся информация находится в объекте типа TDBGrid.

Рисунок 7 - Экран "Клиенты"

3.2.5 Экран "Цвета"

Экран "Цвета" содержит информацию о цветах. Вся информация находится в объекте типа TDBGrid.

Рисунок 8 - Экран "Цвета"

3.2.6 Экран "Модель"

Экран "Модель" содержит информацию о клиентах. Вся информация находится в объекте типа TDBGrid.

Рисунок 9 - Экран "Модель"

Заключение

При выполнении курсового проекта освоил навыки разработки приложения в среде C++ Builder, научился проектировать базы данных, устанавливать связи между таблицами. Разобрался с компонентами C++ Builder для работы с данными из таблиц БД. Научился строить запросы при помощи языка SQL.

Использованные программные средства

1) MSAccess;

2) Borland C++ Builder 6.0;

3) Текстовый процессор MSWord.

Приложение А

Листинг программы

1) Модуль проекта

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

//---------------------------------------------------------------------------

USEFORM("MainUnit.cpp", MainForm);

USEFORM("DataBaseDataModuleUnit.cpp", DataBaseDataModule); /* TDataModule: File Type */

USEFORM("DialogsDataModuleUnit.cpp", DialogsDataModule); /* TDataModule: File Type */

USEFORM("PreviewUnit.cpp", PreviewForm);

//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->Initialize();

Application->CreateForm(__classid(TMainForm), &MainForm);

Application->CreateForm(__classid(TDataBaseDataModule), &DataBaseDataModule);

Application->CreateForm(__classid(TDialogsDataModule), &DialogsDataModule);

Application->CreateForm(__classid(TPreviewForm), &PreviewForm);

Application->Run();

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

catch (...)

{

try

{

throw Exception("");

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

}

return 0;

}

//---------------------------------------------------------------------------

2) Модуль главной формы

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "MainUnit.h"

#include "DataBaseDataModuleUnit.h"

#include "DialogsDataModuleUnit.h"

#include "FunctionsUnit.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TMainForm *MainForm;

//---------------------------------------------------------------------------

AnsiString DoubleSlash (AnsiString str);

void DataBaseConnection (AnsiString Path);

void ManufacturerButtonVisibleFalseAddEditDeleteTruePostCancel(TButton * ManufacturerAddButton, TButton * ManufacturerEditButton, TButton * ManufacturerDeleteButton, TButton * ManufacturerPostButton, TButton * ManufacturerCancelButton);

void ManufacturerButtonVisibleTrueAddEditDeleteFalsePostCancel(TButton * ManufacturerAddButton, TButton * ManufacturerEditButton, TButton * ManufacturerDeleteButton, TButton * ManufacturerPostButton, TButton * ManufacturerCancelButton);

//---------------------------------------------------------------------------

__fastcall TMainForm::TMainForm(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::FormCreate(TObject *Sender)

{

MainForm->Position = poDesktopCenter;

PageControl->ActivePage = MainTabSheet;

if(!(DirectoryExists("Files")))

{

MkDir("Files");

}

if(!(DirectoryExists("Files\\DataBase")))

{

MkDir("Files\\DataBase");

}

}

//---------------------------------------------------------------------------

//-----Закрытие программы:

void __fastcall TMainForm::FormCloseQuery(TObject *Sender, bool &CanClose)

{

if(Application->MessageBox("Вы действительно хотите закрыть программу?","Выход",MB_YESNO + MB_ICONSTOP)==IDYES)

{

CanClose = True;

}

else

{

CanClose = False;

}

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::DataBaseFilePathOpenDialogExecuteButtonClick(

TObject *Sender)

{

if(DialogsDataModule->DataBaseFilePathOpenDialog->Execute())

{

FilePathEdit->Text = DialogsDataModule->DataBaseFilePathOpenDialog->FileName;

}

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::FormShow(TObject *Sender)

{

DataBaseConnection("D:\\Projects\\BuilderProjects\\CarShop\\Files\\DataBase\\CarShopDataBase.mdb");

ManufacturerDBGrid->DataSource = DataBaseDataModule->ManufacturerDataSource;

ManufacturerDBGrid->Options = TDBGridOptions(ManufacturerDBGrid->Options) >> dgEditing >> dgIndicator >> dgColumnResize;

//ManufacturerDBGrid->Columns->Add();

//ManufacturerDBGrid->Columns->Add();

//ManufacturerDBGrid->Columns->Add();

//ManufacturerDBGrid->Columns->Items[0]->FieldName = "Title_Manufacturer";

//ManufacturerDBGrid->Columns->Items[0]->Title->Caption = "Название";

//ManufacturerDBGrid->Columns->Items[1]->Title->Caption = "Количество моделей";

//ManufacturerDBGrid->Columns->Items[2]->Title->Caption = "Количество автомобилей";

ManufacturerDBGrid->Columns->Items[0]->Width = (ManufacturerDBGrid->Width - 40)/3;

ManufacturerDBGrid->Columns->Items[1]->Visible = False;

//ManufacturerDBGrid->Columns->Items[1]->Width = (ManufacturerDBGrid->Width - 40)/3;

//ManufacturerDBGrid->Columns->Items[2]->Width = (ManufacturerDBGrid->Width - 40)/3;

//DataBaseDataModule->ManufacturerADOTable->Sort = "Title_Manufacturer ASC";

ModelDBGrid->DataSource = DataBaseDataModule->ModelDataSource;

ModelDBGrid->Options = TDBGridOptions(ModelDBGrid->Options) >> dgEditing >> dgIndicator >> dgColumnResize;

ModelDBGrid->Columns->Items[0]->Width = (ModelDBGrid->Width - 40)/2;

ModelDBGrid->Columns->Items[1]->Width = (ModelDBGrid->Width - 40)/2;

ColorDBGrid->DataSource = DataBaseDataModule->ColorDataSource;

ColorDBGrid->Options = TDBGridOptions(ColorDBGrid->Options) >> dgEditing >> dgIndicator >> dgColumnResize;

ColorDBGrid->Columns->Add();

ColorDBGrid->Columns->Add();

ColorDBGrid->Columns->Items[0]->FieldName = "Type_of_Color";

ColorDBGrid->Columns->Items[1]->FieldName = "Title_Color";

ColorDBGrid->Columns->Items[0]->Title->Caption = "Тип";

ColorDBGrid->Columns->Items[1]->Title->Caption = "Название";

ColorDBGrid->Columns->Items[0]->Width = (ColorDBGrid->Width - 40)/2;

ColorDBGrid->Columns->Items[1]->Width = (ColorDBGrid->Width - 40)/2;

ClientDBGrid->DataSource = DataBaseDataModule->ClientDataSource;

ClientDBGrid->Options = TDBGridOptions(ClientDBGrid->Options) >> dgEditing >> dgIndicator >> dgColumnResize;

ClientDBGrid->Columns->Add();

ClientDBGrid->Columns->Add();

ClientDBGrid->Columns->Add();

ClientDBGrid->Columns->Add();

ClientDBGrid->Columns->Items[0]->FieldName = "Forename";

ClientDBGrid->Columns->Items[1]->FieldName = "Surname";

ClientDBGrid->Columns->Items[2]->FieldName = "Patronymic";

ClientDBGrid->Columns->Items[3]->FieldName = "Telephone_number";

ClientDBGrid->Columns->Items[0]->Title->Caption = "Фамилия";

ClientDBGrid->Columns->Items[1]->Title->Caption = "Имя";

ClientDBGrid->Columns->Items[2]->Title->Caption = "Отчество";

ClientDBGrid->Columns->Items[3]->Title->Caption = "Телефон";

ClientDBGrid->Columns->Items[0]->Width = (ClientDBGrid->Width - 40)/4;

ClientDBGrid->Columns->Items[1]->Width = (ClientDBGrid->Width - 40)/4;

ClientDBGrid->Columns->Items[2]->Width = (ClientDBGrid->Width - 40)/4;

ClientDBGrid->Columns->Items[3]->Width = (ClientDBGrid->Width - 40)/4;

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::DataBaseConnectButtonClick(TObject *Sender)

{

DataBaseConnection(DoubleSlash(FilePathEdit->Text));

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::ManufacturerEditButtonClick(TObject *Sender)

{

ManufacturerButtonVisibleFalseAddEditDeleteTruePostCancel(ManufacturerAddButton, ManufacturerEditButton, ManufacturerDeleteButton, ManufacturerPostBitBtn, ManufacturerCancelBitBtn);

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::ManufacturerDeleteButtonClick(TObject *Sender)

{

ManufacturerButtonVisibleFalseAddEditDeleteTruePostCancel(ManufacturerAddButton, ManufacturerEditButton, ManufacturerDeleteButton, ManufacturerPostBitBtn, ManufacturerCancelBitBtn);

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::ManufacturerDBGridTitleClick(TColumn *Column)

{ /*

if(Column->FieldName == "Название")

{

DataBaseDataModule->ManufacturerADOQuery->Active = False;

DataBaseDataModule->ManufacturerADOQuery->SQL->Clear();

if(Edit1->Text != "SELECT Title_Manufacturer AS Название, Logo FROM Manufacturer ORDER BY Title_Manufacturer ASC")

{

DataBaseDataModule->ManufacturerADOQuery->SQL->Add("SELECT Title_Manufacturer AS Название, Logo FROM Manufacturer ORDER BY Title_Manufacturer DESC");

}

else

{

DataBaseDataModule->ManufacturerADOQuery->SQL->Add("SELECT Title_Manufacturer AS Название, Logo FROM Manufacturer ORDER BY Title_Manufacturer ASC");

}

DataBaseDataModule->ManufacturerADOQuery->Open();

DataBaseDataModule->ManufacturerADOQuery->Active = True;

ManufacturerDBGrid->Columns->Items[0]->Width = (ManufacturerDBGrid->Width - 40)/3;

} */

/*if(AnsiString(DataBaseDataModule->ManufacturerADOTable->Sort) == "Title_Manufacturer ASC")

{

DataBaseDataModule->ManufacturerADOTable->Sort = "Title_Manufacturer DESC";

}

else

{

DataBaseDataModule->ManufacturerADOTable->Sort = "Title_Manufacturer ASC";

}

*/

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::ManufacturerPostBitBtnClick(TObject *Sender)

{

ManufacturerButtonVisibleTrueAddEditDeleteFalsePostCancel(ManufacturerAddButton, ManufacturerEditButton, ManufacturerDeleteButton, ManufacturerPostBitBtn, ManufacturerCancelBitBtn);

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::ManufacturerCancelBitBtnClick(TObject *Sender)

{

ManufacturerButtonVisibleTrueAddEditDeleteFalsePostCancel(ManufacturerAddButton, ManufacturerEditButton, ManufacturerDeleteButton, ManufacturerPostBitBtn, ManufacturerCancelBitBtn);

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::ManufacturerButtonClick(TObject *Sender)

{

PageControl->ActivePage = ManufacturerTabSheet;

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::ModelButtonClick(TObject *Sender)

{

PageControl->ActivePage = ModelTabSheet;

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::ClientButtonClick(TObject *Sender)

{

PageControl->ActivePage = ClientTabSheet;

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::CarButtonClick(TObject *Sender)

{

PageControl->ActivePage = CarTabSheet;

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::GradeButtonClick(TObject *Sender)

{

PageControl->ActivePage = GradeTabSheet;

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::AccessoryButtonClick(TObject *Sender)

{

PageControl->ActivePage = AccessoryTabSheet;

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::ColorButtonClick(TObject *Sender)

{

PageControl->ActivePage = ColorTabSheet;

}

//---------------------------------------------------------------------------

3) Модуль данных базы данных

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "DataBaseDataModuleUnit.h"

#include "MainUnit.h"

#include "FunctionsUnit.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TDataBaseDataModule *DataBaseDataModule;

//---------------------------------------------------------------------------

AnsiString DoubleSlash (AnsiString str);

//---------------------------------------------------------------------------

__fastcall TDataBaseDataModule::TDataBaseDataModule(TComponent* Owner)

: TDataModule(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TDataBaseDataModule::ManufacturerADOTableAfterScroll(

TDataSet *DataSet)

{

/*if(DataSet->FieldByName("Logo")->AsString != "")

{

MainForm->ManufacturerLogoImage->Picture->LoadFromFile(DoubleSlash(ExtractFilePath(Application->ExeName))+"Files"+String(Char(92))+String(Char(92))+"Pictures"+String(Char(92))+String(Char(92))+"ManufacturerLogos"+String(Char(92))+String(Char(92))+DoubleSlash(DataSet->FieldByName("Logo")->AsString));

}

else

{

MainForm->ManufacturerLogoImage->Picture->LoadFromFile(DoubleSlash(ExtractFilePath(Application->ExeName))+"Files"+String(Char(92))+String(Char(92))+"Pictures"+String(Char(92))+String(Char(92))+"ManufacturerLogos"+String(Char(92))+String(Char(92))+"nologo.bmp");

} */

}

//---------------------------------------------------------------------------

void __fastcall TDataBaseDataModule::ManufacturerADOQueryAfterScroll(

TDataSet *DataSet)

{

if(ManufacturerADOQuery->Active == True) {

if(DataSet->FieldByName("Logo")->AsString != "")

{

MainForm->ManufacturerLogoImage->Picture->LoadFromFile(DoubleSlash(ExtractFilePath(Application->ExeName))+"Files"+String(Char(92))+String(Char(92))+"Pictures"+String(Char(92))+String(Char(92))+"ManufacturerLogos"+String(Char(92))+String(Char(92))+DoubleSlash(DataSet->FieldByName("Logo")->AsString));

}

else

{

MainForm->ManufacturerLogoImage->Picture->LoadFromFile(DoubleSlash(ExtractFilePath(Application->ExeName))+"Files"+String(Char(92))+String(Char(92))+"Pictures"+String(Char(92))+String(Char(92))+"ManufacturerLogos"+String(Char(92))+String(Char(92))+"nologo.bmp");

} }

}

//---------------------------------------------------------------------------

4) Модуль данных диалогов

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "DialogsDataModuleUnit.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TDialogsDataModule *DialogsDataModule;

//---------------------------------------------------------------------------

__fastcall TDialogsDataModule::TDialogsDataModule(TComponent* Owner)

: TDataModule(Owner)

{

}

//---------------------------------------------------------------------------

5) Модуль функций

//---------------------------------------------------------------------------

#pragma hdrstop

#include "FunctionsUnit.h"

#include "DataBaseDataModuleUnit.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

//---------------------------------------------------------------------------

AnsiString DoubleSlash (AnsiString str)

{

return StringReplace(str, String(Char(92)), String(Char(92))+String(Char(92)), TReplaceFlags()<<rfReplaceAll);

}

//---------------------------------------------------------------------------

void DataBaseConnection (AnsiString Path)

{

DataBaseDataModule->ADOConnection->Connected = False;

DataBaseDataModule->ADOConnection->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Path+";Persist Security Info=False";

DataBaseDataModule->ADOConnection->LoginPrompt = False;

DataBaseDataModule->ADOConnection->Connected = True;

//DataBaseDataModule->ManufacturerADOTable->Connection = DataBaseDataModule->ADOConnection;

//DataBaseDataModule->ManufacturerADOTable->TableName = "Manufacturer";

//DataBaseDataModule->ManufacturerADOTable->Active = True;

//DataBaseDataModule->ManufacturerDataSource->DataSet = DataBaseDataModule->ManufacturerADOTable;

DataBaseDataModule->ManufacturerADOQuery->Connection = DataBaseDataModule->ADOConnection;

DataBaseDataModule->ManufacturerADOQuery->Active = False;

DataBaseDataModule->ManufacturerADOQuery->SQL->Clear();

DataBaseDataModule->ManufacturerADOQuery->SQL->Add("SELECT Title_Manufacturer As Название, Logo FROM Manufacturer ORDER BY Title_Manufacturer");

DataBaseDataModule->ManufacturerADOQuery->Open();

DataBaseDataModule->ManufacturerADOQuery->Active = True;

DataBaseDataModule->ManufacturerDataSource->DataSet = DataBaseDataModule->ManufacturerADOQuery;

DataBaseDataModule->ModelADOQuery->Connection = DataBaseDataModule->ADOConnection;

DataBaseDataModule->ModelADOQuery->Active = False;

DataBaseDataModule->ModelADOQuery->SQL->Clear();

DataBaseDataModule->ModelADOQuery->SQL->Add("SELECT Manufacturer.Title_Manufacturer As [Название производителя], Model.Title_Model AS [Название модели] FROM Manufacturer, Model WHERE Manufacturer.Code_Manufacturer = Model.FK_Code_Manufacturer");

DataBaseDataModule->ModelADOQuery->Open();

DataBaseDataModule->ModelADOQuery->Active = True;

DataBaseDataModule->ModelDataSource->DataSet = DataBaseDataModule->ModelADOQuery;

DataBaseDataModule->ColorADOTable->Active = False;

DataBaseDataModule->ColorADOTable->Connection = DataBaseDataModule->ADOConnection;

DataBaseDataModule->ColorADOTable->TableName = "Color";

DataBaseDataModule->ColorADOTable->Active = True;

DataBaseDataModule->ColorDataSource->DataSet = DataBaseDataModule->ColorADOTable;

DataBaseDataModule->ClientADOTable->Active = False;

DataBaseDataModule->ClientADOTable->Connection = DataBaseDataModule->ADOConnection;

DataBaseDataModule->ClientADOTable->TableName = "Client";

DataBaseDataModule->ClientADOTable->Active = True;

DataBaseDataModule->ClientDataSource->DataSet = DataBaseDataModule->ClientADOTable;

}

//---------------------------------------------------------------------------

void ManufacturerButtonVisibleFalseAddEditDeleteTruePostCancel(TButton * ManufacturerAddButton, TButton * ManufacturerEditButton, TButton * ManufacturerDeleteButton, TButton * ManufacturerPostButton, TButton * ManufacturerCancelButton)

{

ManufacturerAddButton->Visible = False;

ManufacturerEditButton->Visible = False;

ManufacturerDeleteButton->Visible = False;

ManufacturerPostButton->Visible = True;

ManufacturerCancelButton->Visible = True;

}

//---------------------------------------------------------------------------

void ManufacturerButtonVisibleTrueAddEditDeleteFalsePostCancel(TButton * ManufacturerAddButton, TButton * ManufacturerEditButton, TButton * ManufacturerDeleteButton, TButton * ManufacturerPostButton, TButton * ManufacturerCancelButton)

{

ManufacturerAddButton->Visible = True;

ManufacturerEditButton->Visible = True;

ManufacturerDeleteButton->Visible = True;

ManufacturerPostButton->Visible = False;

ManufacturerCancelButton->Visible = False;

}

//---------------------------------------------------------------------------

Размещено на Allbest.ru


Подобные документы

  • Основные этапы разработки базы данных "Постоянные покупатели" в среде MsAccess. Создание таблиц и организация связей между ними. Формирование запросов; их вид в режиме SQL. Создание форм как специальных объектов, предназначенных для просмотра данных.

    контрольная работа [700,2 K], добавлен 16.10.2014

  • Выделение основных сущностей проектируемой системы, описание их взаимосвязи. Построение базы данных и приложений: разработка таблиц и связей между ними, локальных представлений данных, форм, запросов, меню. Инструкция для работы пользователя с программой.

    курсовая работа [380,9 K], добавлен 06.04.2015

  • Разработка информационной базы данных "Поликлиника" с возможностью просмотра, редактирования, добавления сведений и получения результатов запросов. Создание механизмов управления данными при помощи триггеров. Проектирование пользовательского приложения.

    курсовая работа [2,0 M], добавлен 21.06.2011

  • Анализ предметной области с использованием моделей методологии ARIS и разработка ER-диаграммы. Описание входной и выходной информации для проектирования реляционной базы данных. Разработка управляющих запросов и связей между ними с помощью языка SQL.

    курсовая работа [975,2 K], добавлен 30.01.2014

  • Проектирование базы данных для удобства работы организатора и систематизации различных конференций. Создание таблиц в режиме конструктора и установление связей между ними, запросов, форм для ввода данных, главной кнопочной формы, макросов и отчетов.

    курсовая работа [2,3 M], добавлен 25.10.2014

  • Создание вспомогательных таблиц (шлифование, обрабатываемый материал, зернистость, твердость) и основной таблицы с помощью приложения Microsoft Access. Установление связей между ними. Формирование запросов с отбором данных, разработка форм и отчетов.

    курсовая работа [944,6 K], добавлен 17.03.2015

  • Компоненты реляционной базы данных Microsoft Access. Создание структуры таблиц и определение связей между ними. Проектирование форм для сводных таблиц и запросов с помощью конструктора окон. Разработка и создание автоотчетов и запросов на выборку данных.

    реферат [3,3 M], добавлен 29.01.2011

  • Общая характеристика и состав информационных запросов к проектируемой базе данных, требования к ней и внутренняя структура, принципы нормализации и разработка логической модели. Создание таблиц и связей между ними. Язык структурированных запросов.

    курсовая работа [985,6 K], добавлен 22.05.2014

  • Построение концептуальной модели. Создание таблиц, входящих в состав базы данных. Разработка основных запросов, отчетов о количестве учеников в данном классе и работе школы; форм для просмотра и редактирования данных в программе Microsoft Access.

    курсовая работа [2,7 M], добавлен 08.05.2015

  • Разработка программного продукта - базы данных "Экскурсия" в интегрированной среде программирования C++ Builder 6. Определение порядка просмотра данных базы, их редактирования и удаления. Особенности руководства пользователя и общего интерфейса программы.

    курсовая работа [2,4 M], добавлен 03.11.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.