Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


«адание є4. 1. ќткройте новое приложение




1. ќткройте новое приложение. —оздайте модуль данных (DMod) и поместите в него три компонента TQuery и один компонент TDataSourse.

2. ƒл€ первого компонента TQuery установите значени€ в свойстве DatabaseName значение используемого псевдонима, свойстве Name ЦCountryQuery, SQL- select * from country, Active- True, RequestLlive- false.

3. ƒл€ компонента TDataSource установите значени€ в свойствах: Name ЦCountrySource, DataSet ЦCountryQuery.

4. ƒл€ второго компонента TQuery установите значени€ в свойствах: DatabaseName - значение псевдонима, Name- InsertQuery, SQL Ц

insert

into Country (Name, Capital, Continent, Area, Population)

values (:Name,:Capital,:Continent,:Area,:Population)

Active Цfalse. ”бедитесь, что в свойстве Params Цзаданы имена переменных.

5. ƒл€ третьего компонента TQuery установите значени€ в свойствах: DatabaseName - значение псевдонима, Name- DeleteQuery, SQL Ц

delete from Country

where Name =:Name

Active -false

6. ¬ключите модуль данных в основной.

7. –асположите в форме Form1 (SQL Insert) в верхней части компонент TPanel с двум€ кнопками TBitBtn, в нижней части сетку TDBGrid.

 

 

 

8. «адайте свойства дл€ панели Align- alTop

9. ƒл€ первой кнопки задайте свойство Caption- Insert, Name ЦbbInsert, Glyph Цвыберите изображение.

10. ƒл€ второй кнопки установите свойство Caption- Delete, Name ЦbbDelete, Glyph Цвыберите изображение.

11. ƒл€ сетки установите свойство Align- alClient и выберите из списка источник данных. (DMod->CountySource)

12. ƒл€ модул€ данных используетс€ следующий код [3]:

///////////////////////////////////////

// File: DMod1.cpp

#include <vcl\vcl.h>

#pragma hdrstop

#include "DMod1.h"

#pragma resource "*.dfm"

 

TDMod *DMod;

 

__fastcall TDMod::TDMod(TComponent* Owner)

: TDataModule(Owner)

{

}

 

void TDMod::FakeRefresh()

{

TBookmark Bookmark = CountryQuery->GetBookmark();

CountryQuery->Close();

CountryQuery->Open();

CountryQuery->GotoBookmark(Bookmark);

CountryQuery->FreeBookmark(Bookmark);

}

 

void TDMod::AutoInsert(void)

{

InsertQuery->Prepare();

InsertQuery->Params->Items[0]->AsString = "»зрайль";

InsertQuery->Params->Items[1]->AsString = "“ель-јвив";

InsertQuery->Params->Items[2]->AsString = "јзи€";

InsertQuery->Params->Items[3]->AsFloat = 0.0;

InsertQuery->Params->Items[4]->AsFloat = 1.0;

InsertQuery->ExecSQL();

//CountryQuery->Refresh();

FakeRefresh();

}

void TDMod::Delete(void)

{

AnsiString S("Delete " + CountryQuery->Fields->Fields[0]->AsString + "?");

if (MessageDlg(S, mtConfirmation,

TMsgDlgButtons() << mbYes << mbNo, 0)!= ID_YES)

return;

DeleteQuery->Prepare();

DeleteQuery->Params->Items[0]->AsString = CountryQuery->Fields->Fields[0]->AsString;

DeleteQuery->ExecSQL();

//CountryQuery->Refresh();

FakeRefresh();

}

 

«аголовочный файл:

#ifndef DMod1H

#define DMod1H

 

#include <vcl\Classes.hpp>

#include <vcl\Controls.hpp>

#include <vcl\StdCtrls.hpp>

#include <vcl\Forms.hpp>

#include <vcl\DBTables.hpp>

#include <vcl\DB.hpp>

#include <Db.hpp>

 

class TDMod: public TDataModule

{

__published:

TQuery *InsertQuery;

TQuery *DeleteQuery;

TQuery *CountryQuery;

TDataSource *CountrySource;

private:

void FakeRefresh();

public:

virtual __fastcall TDMod(TComponent* Owner);

void AutoInsert(void);

void Delete(void);

};

 

extern TDMod *DMod;

 

#endif

12. ќпределите дл€ кнопок процедуры нажати€ [3]:

#include <vcl\vcl.h>

#pragma hdrstop

 

#include "Main.h"

#include "DMod1.h"

 

#pragma resource "*.dfm"

TForm1 *Form1;

 

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

 

void __fastcall TForm1::bbInsertClick(TObject *Sender)

{

DMod->AutoInsert();

}

 

void __fastcall TForm1::bbDeleteClick(TObject *Sender)

{

DMod->Delete();

}

///«аголовочный файл

//

#ifndef MainH

#define MainH

 

#include <vcl\Classes.hpp>

#include <vcl\Controls.hpp>

#include <vcl\StdCtrls.hpp>

#include <vcl\Forms.hpp>

#include <vcl\DBGrids.hpp>

#include <vcl\Grids.hpp>

#include <vcl\ExtCtrls.hpp>

#include <vcl\Buttons.hpp>

 

class TForm1: public TForm

{

__published:

TDBGrid *DBGrid1;

TPanel *Panel1;

TBitBtn *bbInsert;

TBitBtn *bbDelete;

void __fastcall bbInsertClick(TObject *Sender);

void __fastcall bbDeleteClick(TObject *Sender);

private:

public:

virtual __fastcall TForm1(TComponent* Owner);

};

 

extern TForm1 *Form1;

 

#endif

 

 онтрольные вопросы

 

1.  ак можно св€зать данные из главной и подчиненной таблиц?

2.  аким образом выполн€ютс€ запросы на вставку и удаление?

 





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-10-01; ћы поможем в написании ваших работ!; просмотров: 450 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

¬аше врем€ ограничено, не тратьте его, жив€ чужой жизнью © —тив ƒжобс
==> читать все изречени€...

1225 - | 1215 -


© 2015-2024 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.011 с.