Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 как найти FDTabletable1.Locate AsDateTime?  [new]
varbambia
Member

Откуда:
Сообщений: 11
FDTabletable1.ParamByName('EventDate').AsDateTime:= myDate;

👉как найти потом дату эту в таблице?
if FDTabletable1.Locate('время',myDate,[]) then
так неробит
17 ноя 21, 11:59    [22396891]     Ответить | Цитировать Сообщить модератору
 Re: как найти FDTabletable1.Locate AsDateTime?  [new]
DimaBr
Member

Откуда:
Сообщений: 12190
varbambia,
FDTabletable1['EventDate'] := myDate;
....
if FDTabletable1.Locate('EventDate',myDate,[]) then


Сообщение было отредактировано: 17 ноя 21, 12:54
17 ноя 21, 12:51    [22396924]     Ответить | Цитировать Сообщить модератору
 Re: как найти FDTabletable1.Locate AsDateTime?  [new]
s62
Member

Откуда: Жуковский
Сообщений: 1503
DimaBr,

у ТС название поля "время", а название параметра, подсказанное тут, 'EventDate'.
https://www.sql.ru/forum/1340193/firedac-dobavit-znachenie-datetime-v-pole

Может быть это проблема сравнения чисел с плавающей запятой (TDateTime)? Хотя информации немного, может дело и в чем-то другом.

Сообщение было отредактировано: 17 ноя 21, 13:12
17 ноя 21, 13:11    [22396939]     Ответить | Цитировать Сообщить модератору
 Re: как найти FDTabletable1.Locate AsDateTime?  [new]
varbambia
Member

Откуда:
Сообщений: 11
varbambia,

вобщем так работает myDate:=RecodeSecond(RecodeMilliSecond(myDate,0),0);


еще вопрос как скрыть в TStringGrid в поле типа AsDateTime отображение секунд?
щас вот такие записи 17.11.2021 17:38:00
17 ноя 21, 15:38    [22397037]     Ответить | Цитировать Сообщить модератору
 Re: как найти FDTabletable1.Locate AsDateTime?  [new]
goldmi45
Member

Откуда:
Сообщений: 1288
varbambia

еще вопрос как скрыть в TStringGrid в поле типа AsDateTime отображение секунд?
щас вот такие записи 17.11.2021 17:38:00

Ну а как вы отображаете дату в ячейке?
ЗЫ: Можно через FormatDateTime
18 ноя 21, 07:32    [22397281]     Ответить | Цитировать Сообщить модератору
 Re: как найти FDTabletable1.Locate AsDateTime?  [new]
varbambia
Member

Откуда:
Сообщений: 11
goldmi45
varbambia

еще вопрос как скрыть в TStringGrid в поле типа AsDateTime отображение секунд?
щас вот такие записи 17.11.2021 17:38:00

Ну а как вы отображаете дату в ячейке?
ЗЫ: Можно через FormatDateTime


просто подключаю бд и данные сами грузятся
TzdbConnection.Params.Add('Database='+ExePath+'tzdb.db');
TzdbConnection.Connected := True;
FDTabletable1.Active:= true;
21 ноя 21, 09:05    [22398532]     Ответить | Цитировать Сообщить модератору
 Re: как найти FDTabletable1.Locate AsDateTime?  [new]
s62
Member

Откуда: Жуковский
Сообщений: 1503
varbambia

еще вопрос как скрыть в TStringGrid в поле типа AsDateTime отображение секунд?
щас вот такие записи 17.11.2021 17:38:00

Не знаю, как в Firedac, но в других db-компонентах можно, например, так: добавляются персистентные поля
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Persistent_Field_Components
(двойной клик по иконке компонента датасета и меню по ПКМ). И у поля TDateTimeField (как и у других полей) есть свойство DisplayFormat, которое позволяет задать формат отображения.
https://docwiki.embarcadero.com/Libraries/XE3/en/Data.DB.TDateTimeField.DisplayFormat

Сообщение было отредактировано: 21 ноя 21, 12:38
21 ноя 21, 12:36    [22398608]     Ответить | Цитировать Сообщить модератору
 Re: как найти FDTabletable1.Locate AsDateTime?  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 13358
procedure TMyForm.FDTabletable1AfterOpen(DataSet: TDataSet);
begin
  (DataSet.FieldByName('EventDate') as TDataTimeField).DisplayFormat := 'dd.mm.yyyy hh:nn';
end;
21 ноя 21, 18:02    [22398722]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить