![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
тип поля DATE [D7, dBase, FoxPro]
Peter_cc © (2005-05-20 09:04:00)Здравствуйте мастера
Использую таблицу dbf(dBASE Files). Есть поле MDATE соответственно я ставлю тип поля DATE.
Пишу запросик простенький select * from tabl1 where MDATE=’21.01.2005’ во время выполнения запроса вылетает ошибка «несоответствия типов данных в выражениях условиях отбора»
Если сделать полю другой тип ну допустим CHARACTER то ошибка не возникает…
Подскажите почему так происходит
Заранее благодарен.
lexer (2005-05-20 10:42:00) [21]>Peter_cc
а в базе в каком формате дата хранится?
msguns (2005-05-20 10:41:00) [22]Очепятки, емть..
AsDateT ime, конюшно !
;(
msguns (2005-05-20 10:40:00) [23]Пример параметрического запроса
with Query1 do
try
if Active then Close;
SQL.Clear;
SQL.Add('SELECT * FROM TABLE ');
SQL.Add(' WHERE (STOCKDATA BETWEEN :ds AND :de) AND ');
SQL.Add(' (CLIENTNAME=:cname )';
SQL.Add(' ORDER BY STOCKDATE, STOCKNUM');
ParamByName(ds).AsDateTame := dtPicker1.Date;
ParamByName(de).AsDateTame := dtPicker2.Date;
ParamByName(cname).AsString := 'Тексейра и Пачеко';
Open;
except
ShowMessage('Негаразды, емть !');
end;
Peter_cc (2005-05-20 10:38:00) [24]у
> Max Zyuzin © (20.05.05 10:26) [11]
> >Peter_cc (20.05.05 10:23) [10]
> Там на самом деле менять ничего не следует, там следует
> посмотреть в каком формате у тебя дата и пр... А программу
> надо делать так что бы она от этого не зависела, для это
> используют параметры. см. выше
посмотрел дата у меня как и у всех dd.mm.yyyy и чего??? а использовать параментры не могли бы вы написать пример я хоть знал бы от чего отталкиваться
Max Zyuzin (2005-05-20 10:26:00) [25]>Peter_cc (20.05.05 10:23) [10]
Там на самом деле менять ничего не следует, там следует посмотреть в каком формате у тебя дата и пр... А программу надо делать так что бы она от этого не зависела, для это используют параметры. см. выше
Peter_cc (2005-05-20 10:23:00) [26]
> evvcom © (20.05.05 09:55) [9]
>
> > но что значит региональные настройки где это
>
> Нажми на кнопку "Start" (Пуск) > Settings > Control Panel
> (Панель управления), там Regional Options (Региональные
> настройки) > Закладка Date (Дата). И экспериментируй. А
> еще лучше купи книжку типа "Windows для чайников" или чего-нибудь
> немного попродвинутей и поизучай, прежде чем задавать подобные
> вопросы.
блин я думал регеональные настройки это в делфи что то...и называется они не региональные настройки а язык и региональные стандарты.... и что мне там экспериментировать???? в дате . на \ менять??? тольку?!
evvcom (2005-05-20 09:55:00) [27]
> но что значит региональные настройки где это
Нажми на кнопку "Start" (Пуск) > Settings > Control Panel (Панель управления), там Regional Options (Региональные настройки) > Закладка Date (Дата). И экспериментируй. А еще лучше купи книжку типа "Windows для чайников" или чего-нибудь немного попродвинутей и поизучай, прежде чем задавать подобные вопросы.
ANB (2005-05-20 09:48:00) [28]
> но что значит региональные настройки где это и что там надо
> настроить????????
. Хм. Начинаю надеятся, что с работы меня таки не уволят из-за возраста.
Peter_cc (2005-05-20 09:47:00) [29]
> ANB © (20.05.05 09:43) [5]
>
> > MDATE=’21.01.2005’
> - сравнение даты и строки. Правильно ругается.
> А про Params и ParamByName слышал ?
нет...:( ну а как надо написать запрос????
Peter_cc (2005-05-20 09:46:00) [30]
> 1. Сходи в региональные натсройки и увидишь там что есть
> дата у тебя на машине.
я может совсем зеленый но что значит региональные настройки где это и что там надо настроить????????
> 2. Запросы типа того что ты написал неправильны и "опасны"
> по причине п.1
> Правильнее при составлении запросов использовать параметры.
> почитай в любой книжке про параметрические запросы.
а про использовать параметры обязательно почитаю прямо сейчас начну...:)
ANB (2005-05-20 09:43:00) [31]
> MDATE=’21.01.2005’
- сравнение даты и строки. Правильно ругается.
А про Params и ParamByName слышал ?
Johnmen (2005-05-20 09:43:00) [32]Я всегда говорил, что малыш в возрасте ~1 год знает только 2 слова: "мама" и "дай". Зачем ему знать больше ?
:)))
Max Zyuzin (2005-05-20 09:42:00) [33]>Peter_cc (20.05.05 09:37) [2]
Проще по пунктам
1. Сходи в региональные натсройки и увидишь там что есть дата у тебя на машине.
2. Запросы типа того что ты написал неправильны и "опасны" по причине п.1
Правильнее при составлении запросов использовать параметры. почитай в любой книжке про параметрические запросы.
Peter_cc (2005-05-20 09:37:00) [34]
> Anatoly Podgoretsky © (20.05.05 09:26) [1]
> Привести запрос в соответствие с региональными настройками.
> После этого задуматься и перейти на использование параметров.
хм...я тебя не понял...можно попроще и поподробнее...:)
Anatoly Podgoretsky (2005-05-20 09:26:00) [35]Привести запрос в соответствие с региональными настройками. После этого задуматься и перейти на использование параметров.