Иллюстрированный самоучитель по C++ Builder

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

Листинг 5.1. Обработка события Click на кнопках Сегодня, Завтра и Эта неделя.

// Щелчок на кнопке Сегодня
void __fastcall TForml::ButtonlClick(TObject *Sender)
{
AnsiString today = FormatDateTime("dd/mm/yyyy",Now());
Forml › Label2 › Caption = "Сегодня";
// изменить критерий запроса
Queryl › SQL › Strings[3] = "(Date_F = '" + today + "')";
// выполнить запрос Forml › Queryl › Open();
Forml › DataSourcel › DataSet = Forml › Queryl;
if (! Forml › Queryl › RecordCount)
{
ShowMessage("Ha сегодня никаких дел не запланировано!");
} }
// щелчок на кнопке Завтра
void __fastcall TForml::Button2Click(TObject *Sender)
{ <
AnsiString tomorrow = FormatDateTime("dd/mm/yyyy", Now() +1);
Forml › Label2 › Caption = "Завтра";
// изменить критерий запроса
Queryl › SQL › Strings[3] = "(Date_F = '" + tomorrow + "')";
// выполнить запрос Forml › Queryl › Open();
Forml › DataSourcel › DataSet = Forml › Queryl;
if (! Forml › Queryl › RecordCount)
{
ShowMessage("На завтра никаких дел не запланировано!");
} }
// щелчок на кнопке Эта неделя
void __fastcall TForml::Button3Click(TObject *Sender)
{
// от текущего дня до конца недели (до воскресенья)
TDateTime Present,
EndOfWeek;
Label2 › Caption = "На этой неделе";
Present= Now(); // Now – возвращает текущую дату
// для доступа к StartOfWeek, EndOfWeek, YearOf и WeekOf
// надо подключить DateUtils.hpp (см. директивы tfinclude)
// ° ° ° ° °*
EndOfWeek = StartOfAWeek(YearOf(Present),WeekOf(Present)+1);
Queryl › SQL › Strings[3] =
"(Date_F >= '"+
FormatDateTime("dd/mm/yyyy",Present)+"')
AND " + "(Date_F< '"+ FormatDateTime("dd/mm/yyyy",EndOfWeek)+"'}";
 Queryl › 0pen();
if (Queryl › RecordCount) {
DataSourcel › DataSet = Forml › Queryl;
 } else
ShowMessage("На эту неделю никаких дел не запланировано.");
 }

В результате щелчка на кнопке Все в диалоговом окне программы должно быть выведено все содержимое базы данных. Базу данных представляет компонент Table1. Поэтому функция обработки события click на кнопке Все просто "переключает" источник данных на таблицу (листинг 5.2).

Листинг 5.2. Обработка события на кнопке Все.

// Щелчок на кнопке Все
void__fastcall TForml::Button4Click(TObject *Sender)
{
// установить: источник данных – таблица
// таким образом, отобажается вся БД
Form1 › DataSource1 › DataSet = Form1 › Table1;
Label2 › Caption = "Все, что намечено сделать"; }
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.