Использование календаря в базе данных
Необходимо:
- Конечно, сама база данных с полем даты
- Форма
- Компонент TDateTimePicker
- Компонент TQuery или TTable
- Компонент TDataSource
- TDBNavigator (необязательно)
В нашем случае имеется поле с датой ShiftDate.
События, которые будут запрограммированы: OnDateChange, OnUpdateData (DataSource), OnClick (DateTimePicker).
Синхронизируем DateTimePicker с базой данных:
procedure TForm1.DataSource1DataChange( Sender: TObject; Field: TField); begin inherited; DateTimePicker1.Date := Query1SHIFTDATE.Value; end;
Синхронизируем базу данных с DateTimePicker:
procedure TForm1.DataSource1UpdateData(Sender: TObject); begin inherited; Query1SHIFTDATE.Value := DateTimePicker1.Date; end;
Когда дата введена, будем экспортировать ее в базу данных:
procedure TForm1.DateTimePicker1Click(Sender: TObject); begin inherited; // отключаем обработчик DataSource1.OnDataChange := nil; // устанавливаем query в режим редактирования Query1.Edit; // меняем обработчик DataSource1.OnDataChange := DataSource1DataChange; end;
Комментарии