.


:




:

































 

 

 

 


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; !; : 451 |


:

:

.
==> ...

1283 - | 1265 -


© 2015-2024 lektsii.org - -

: 0.014 .