Сравнение переменной даты в командной строке FoxPro
Я хотел бы выполнить следующие команды:
//// принять к x //// показать все для date_field=x
Цель этих команд - ввести значение x, после чего я собираюсь отобразить все регистры из таблицы, переменная date_field которой равна x Поле date_field имеет переменную типа (Date,8)
Эти переменные даты хранятся следующим образом: 03/11/17, 23.04.17 и т. Д. С клавиатуры набираю например 03/11/17. Затем я пытаюсь сравнить, я получил ошибки. Может ли кто-нибудь сказать мне правильный набор команд для выполнения этой задачи?
4 ответа
Если я понимаю, что вы присваиваете значение, которое вы ввели, переменной 'x', а затем используете 'x' для сравнения с полем даты.
Возможно, проблема в том, что "x" - это строка, и вы пытаетесь сравнить ее с датой. Поэтому вам нужно использовать функцию ctod(). Например:
select * from mytable where date_field = ctod(x)
Также будьте осторожны с вашими региональными настройками.
Когда вы говорите, что печатаете на клавиатуре, значит ли это, что foxpro подсказывает вам?
Вы можете настроить вход для получения объекта даты, подобного этому, в вашем файле file.prg:
inputdate = { / / }
@10,25 SAY "Enter Input Date: MM/DD/YYYY" GET inputdate
READ
Используйте выражение литерала даты. В FoxPro это в форме {^ гггг / мм / дд}.
Например, чтобы сравнить с 11 февраля 2018 года, используйте {^2018/2/11}
Сравнение переменной даты в командной строке FoxPro
принять к х
показать все для date_field=x
Под "командной строкой" я предполагаю, что вы имеете в виду использовать командное окно Foxpro и вводить однострочные команды. Если нет, то вам нужно уточнить, что вы пытаетесь сделать.
Находясь в окне FP Command, вы вводите следующие строки:
x = {^2018/2/11} && Assign this value to 'x' if you want the date February 11 2018
SELECT * FROM MyDataTable WHERE Date_Field = x INTO CURSOR Results READWRITE && use SQL Query to get results from Data Table MyDataTable
SELECT Results && go to results table/cursor
BROWSE && make it visible on-screen
Поскольку ваш вопрос носит очень общий и базовый характер, вы можете потратить некоторое время на просмотр бесплатных обучающих видео по VFP по адресу:
Бесплатное онлайн видео-учебник VFP
Да, эти видео о Visual Foxpro, а не о OLD Foxpro, но есть много общего.
Удачи