powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / sql
16 сообщений из 41, страница 2 из 2
sql
    #32200088
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Px не берет дату из региональных настроек. В BDE есть настройка на формат даты. На самом деле, эта настройка нифига не действует в запросах.

Единственный формат, который можно использовать в запросах, (при собирании строки запроса без использования параметров) - MM/DD/YYYY.

=================
В данном случае используется параметр. Значит дело в настройках BDE. Я бы рекомендовал, поставить везде не меньше BDE 5 (А больше есть? Я вроде слышал, что 6 существует).
Рекомендую поставить в BDE Configuration-Date-Mode-0. Дело, наверняка не виндах.
...
Рейтинг: 0 / 0
sql
    #32200403
irina2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2

у Вас есть бде 6? "Рекомендую поставить в BDE Configuration-Date-Mode-0" что это за параметр??
...
Рейтинг: 0 / 0
sql
    #32200471
Balashov Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А принтер по умолчанию хоть один стоит?
...
Рейтинг: 0 / 0
sql
    #32200614
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос первый.
Работает ли запрос, если его просто набрать в том же Database Desktop? Если работает, то разбираемся с самой программой, если нет, то что-то с форматом записи даты в Win98 или настройках BDE.

Кстати, весь текст программы не нужен, а вот текст запроса глянуть бы хотелось.

Вопрос второй.
Пробовали ли передавать в запрос дату как AsDataTime, а не как AsString?

В BDE-Administrator желательно на страничке Configuration в ветке Configuration>System>Formats>Date параметр Mode выставить 1 (последовательность DD.MM.YYYY), параметр SEPARATOR (символ-разделитель) заменить с слэша на точку, и FOURDIGITALYEAR посатвить в true (год всегда выводить как 4 числа).

Желательно также проверить национальные настройки в самой Win98. Возможно там что-то не так выставлено по умолчанию.
...
Рейтинг: 0 / 0
sql
    #32201519
irina2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Balashov Denis
А принтер по умолчанию хоть один стоит? - стоит и не один!!!!

Дмитрий Мыльников
ответ первый: запрос работает, программа тоже.
вопрос: как проверяют формат даты в Win98


Кстати, весь текст программы не нужен, а вот текст запроса глянуть бы хотелось.
Все есть ВЫШЕ!!!!!

Желательно также проверить национальные настройки в самой Win98. Возможно там что-то не так выставлено по умолчанию.
ЭТО КАК???????

В BDE-Administrator желательно на страничке Configuration в ветке Configuration>System>Formats>Date параметр Mode выставить 1 (последовательность DD.MM.YYYY),
Т. Е. БДЕ БУДЕТ ВЫДАВАТЬ ДАТУ В ИДЕ 01.01.2003Г. И НЕ КАК БОЛЕЕ????????????????

параметр SEPARATOR (символ-разделитель) заменить с слэша на точку,
ЧТО ЭТО ЗНАЧИТ?????

и FOURDIGITALYEAR посатвить в true (год всегда выводить как 4 числа).
ВОПРОС N-ЫЙ: Т. Е. 2003, А НЕ 03! ТАК?????
...
Рейтинг: 0 / 0
sql
    #32201892
Hammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Следует провести следующие действия:
1. В Ненели управления -> Язык и стандарты -> вкладка Дата
короткий формат даты -> DD.MM.YYYY
разделитель компонентов даты -> .
2. В BDE Admimistrator ( v. 5.0 ) на закладке Configuration в секции дерева System -> Init -> Formats -> Date вручную выставить следующие параметры:
FOURDIGITYEAR, LEADINGZEROD, LEADINGZEROM -> TRUE
MODE -> 1
SEPARATOR -> .
3. B запрос дату передавать как параметр
DataType -> ftDate ( если надо передавать только дату )
DataType -> ftDateTime ( если надо передавать дату и время )
ParamType -> ptInput
4. Не совсем понятно зачем дату передавать сначала из TDateTimePicker в TEdit, а затем в запрос. Лучше эту дату передавать сразу в запрос из TDateTimePicker.
5. Если Вы сделаете все как выше написано, то вес будет пучком. А ответы на вопросы почему так, а не иначе лучше всего искать в Help'e.
...
Рейтинг: 0 / 0
sql
    #32202197
irina2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПАСИБО!!!!!!!!!!!!!!

4. Не совсем понятно зачем дату передавать сначала из TDateTimePicker в TEdit, а затем в запрос. Лучше эту дату передавать сразу в запрос из TDateTimePicker.
дело в том, что когда я начинала писать программу, у меня не получалась работа с полем "дата" в базе данных. поэтому я его сделала стринговым! из-за этого в запрос идет TEdit, а не TDateTimePicker. но я попробую сделать в базе поле "дата", в запросе использовать TDateTimePicker.

но, если что, то я снова обращусь за помощь?!
...
Рейтинг: 0 / 0
sql
    #32202267
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
???
"дело в том, что когда я начинала писать программу, у меня не получалась работа с полем "дата" в базе данных. поэтому я его сделала стринговым! из-за этого в запрос идет TEdit, а не TDateTimePicker. но я попробую сделать в базе поле "дата", в запросе использовать TDateTimePicker"
???!!!
Так если поле в базе хранится как строка, то работают совсем другие механизмы! Тут если формат строки совпадает с тем, что в базе хранится, то всё должно работать. Просто посмотрите в отладчике как выглядит строка, которая записывается в параметр запроса и как выглядит строка в соответсвующем поле БД. При этом нужно учесть, что сравнение строк выполняется совсем не так, как дат. С точки зрения сравнения строк 25.01.2000 будет больше, чем 01.07.2003.

По поводу "Все есть ВЫШЕ!!!!!" я специально ещё раз посмотрел - текста SQL запрсоа нет.

Что касается формата даты в Windows, то это находтся в панели управления, значок "Язык и региональные стандарты". Это может влиять при использовании функций StrToDate и DateToStr. При этом если у вас в базе год хранится как 2003, а в Win98 по умолчанию стоит краткий формат dd.mm.yy, то вы будете получать на выходе функции DateToStr строчку "dd.mm.03". Тогда, естественно, что запрос ничего не найдет в базе. Наоборот, если у Вас год 03, а формат dd.mm.yyyy, тоже самое.

Насколько я понимаю, на Win98 не работает как раз потому, что формат даты по умолчанию у неё отличается от Win2k и XP. :)
...
Рейтинг: 0 / 0
sql
    #32202299
irina2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий Мыльников
По поводу "Все есть ВЫШЕ!!!!!" я специально ещё раз посмотрел - текста SQL запрсоа нет.

это сам запрос:
select Marca, Gn, Goandnaz, Kto, Zaiv, Zad, Dataout, DataIn,
Timeout, Timein, Probeg, Prim, Tx_sos
from Base.db
where Dataout=:D1

А это процедура:
procedure TForm4.BitBtn1Click(Sender: TObject);
begin
DataModule1.Query1.CLOSE;
DataModule1.Query1.ParamByName('D1').AsString:= Form4.Edit1.Text;
DataModule1.Query1.OPEN;
Form5.QRLabel22.Caption:='Отчет за - '+Edit1.Text+'.';
Form5.QuickRep1.Preview;
end;

пасибо, пасибо, пасибо, пасибо, пасибо... (это я про 98, хр и минолиум). про краткий формат в 98 я не знала!
"Насколько я понимаю, на Win98 не работает как раз потому, что формат даты по умолчанию у неё отличается от Win2k и XP. :)"
АГА, АГА, АГА Усё правильно!!!!!!!
...
Рейтинг: 0 / 0
sql
    #32202326
О женсчины...
...
Рейтинг: 0 / 0
sql
    #32202346
irina2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Взаимно!!!-;)))))
...
Рейтинг: 0 / 0
sql
    #32202460
Hammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
) но, если что, то я снова обращусь за помощь?!
Да, мы, типа, для того здесь и тусуемся.
...
Рейтинг: 0 / 0
sql
    #32202606
Фотография Skleroz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можно перед AsString
DateSeparator:='/';
ShortDateFormat:='mm/dd/yyyy';
...
Рейтинг: 0 / 0
sql
    #32202643
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Что за извращение??? Предлагаете зависить от локальных настроек винды???

TDateTimePicker - и DataModule1.Query1.ParamByName('D1').AsDate:= Form4.DateTimePicker1.Date.

И никаких заморочек с настройками - это double.
...
Рейтинг: 0 / 0
sql
    #32202645
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поддерживаю еNose. О чем и писАл раньше. Работайте с датой, как с TDataTime и проблем не будет.
...
Рейтинг: 0 / 0
sql
    #32203510
irina2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО ВСЕМ ЗА ВСЁ!! ;) Я ИСПРАВИЛА ПРОГРАММУ, ТАК ЧТО УЖЕ УСЁ РАБОТАЕТ 8)
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / sql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]