1. .
2. . TQuery, TDataSourse. DMod.
3. Name TQuery CountryQuery.
4. DataSet TDataSource CountryQuery, Name CountrySource.
5. TPanel. TBitBtn :bbLoad, bbLoad2, bbpickA, bbPickB, bbPickC : Load, Load2, A, B, C. Glyph, Picture Editor, Load, Borland Shared\Images\Buttons.
6. TDBGRid TOpenDialog.
7. DataSource TDBGrid DMod->CountryQuery.
8. TOpenDialog Filter SQL - *.txt ( , SQL) *.txt.
9. .txt:
Select * from country where Name like '%ia';
Select * from country where name like '%c%';
10. RunQuery RunQuery2, .
void TDMod::RunQuery(TStringList *StringList)
{
CountryQuery->Close();
CountryQuery->SQL = StringList;
CountryQuery->Open();
}
void TDMod::RunQuery2(AnsiString S)
{
CountryQuery->Close();
CountryQuery->SQL->Clear();
CountryQuery->SQL->LoadFromFile(S);
CountryQuery->Open();
}
LoadFromFile .
11. : , , .
void TDMod::SelectItems(AnsiString S)
{
CountryQuery->Close();
CountryQuery->SQL->Clear();
CountryQuery->SQL->Add("Select * from Country");
switch (S[1])
{
case 'A':
CountryQuery->SQL->Add("where name like 'A%'");
break;
case 'B':
CountryQuery->SQL->Add("where name like 'B%'");
break;
case 'C':
CountryQuery->SQL->Add("where name like 'C%'");
break;
}
CountryQuery->Open();
}
//******
public
void SelectItems(AnsiString S);
void RunQuery(TStringList *StringList);
void RunQuery2(AnsiString S);
12. . bbLoad:
void __fastcall TForm1::bbLoadClick(TObject *Sender)
|
|
{
if (OpenDialog1->Execute())
{
TStringList *StringList = new TStringList();
StringList->LoadFromFile(OpenDialog1->FileName);
DMod->RunQuery(StringList);
StringList->Free();
}
}
bbLoad2:
void __fastcall TForm1::bbLoad2Click(TObject *Sender)
{
if (OpenDialog1->Execute())
DMod->RunQuery2(OpenDialog1->FileName);
}
: A, B, C :
void __fastcall TForm1::bbPickAClick(TObject *Sender)
{
TComponent *C = (TComponent *)Sender;
switch (C->Tag)
{
case 65:
DMod->SelectItems("A");
break;
case 66:
DMod->SelectItems("B");
break;
case 67:
DMod->SelectItems("C");
break;
}
}
13. . .