Задание №5

1. Откройте новое приложение

2. Поместите на форму следующие компоненты, как показано на рисунке:

Задание №5 - №1 - открытая онлайн библиотека

TListBox, TQuery, TDataSource, TDBGrid, TMainMenu, (TMenuItem)

3. Определите свойства для объектов:

TQuery –в свойстве DatabaseName установите алиас BCDEMOS, в свойстве Name установите значение FormatQuery, в свойстве SQL select * from :Table

TDataSource –в свойстве Name –dsFormat, в свойстве DataSet –FormatQuery.

TDBGrid – в свойстве DataSource –dsFormat, в свойстве Align –значение alClient

TList – установите в свойстве Align –значение alLeft

4. Для компонента TMainMenu установите в свойстве Items StringTrick1

5. Для события OnCreate формы создайте процедуру. в которой формируется список таблиц БД и этим списком заполняется объект TListBox:

void __fastcall TForm::FormCreate(TObject *Sender)

{

Session->GetTableNames(FormatQuery->DatabaseName, “ “, False, False, ListBox1->Items);

}

6. Затем необходимо создать метод обработки события ListBox1.OnClick:

void __fastcall TForm1::ListBox1Click(TObject *Sender)

{

AnsiString S = ListBox1->Items->Strings[ListBox1->ItemIndex];

S = Format("Select * from %s", OPENARRAY(TVarRec, (S)));

Caption = S;

FormatQuery->Close();

FormatQuery->SQL->Clear();

FormatQuery->SQL->Add(S);

FormatQuery->Open();

}

Добавьте также код метода GetQuery:

AnsiString GetQuery(AnsiString S1, AnsiString S2, int Value)

{

return Format("Select * from %s where %s = %d", OPENARRAY(TVarRec, (S1, S2, Value)));

}

По событию OnClick:

void __fastcall TForm1::StringTrick1Click(TObject *Sender)

{

Caption = GetQuery("Customer", "CustNo", 42);

}

6. Запустите приложение. Убедитесь в его работоспособности.

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

1. Как задать параметрический запрос?

2. Как запросы считывать с диска?

3. Как используется функция Format в запросах?