Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.12.04;
Скачать: CL | DM;

Вниз

ADO отбор по диапазону дат   Найти похожие ветки 

 
armstrong   (2011-08-17 22:18) [0]

create table my (
startdate date
)

select startdate from my
where startdate>"01.01.2011"

вываливается с ошибкой "Несоответствие типов данных в выражении условия отбора"

что интересно пока записей нет отбор вроде работает.
в гриде отображаются добавленные записи с разделителем точкой.

вообще-то мне нужно хранить дату со временем и в дальнейшем отбирать и по диапазону времени. натолкнулся на эту ошибку, у простил до даты а оно всё равно.

кто сталкивался, подскажите в чем может быть проблема.
соединение с базой стандартное TADO, через "Microsoft.Jet.OLEDB.4.0"


 
Ega23 ©   (2011-08-17 22:20) [1]

"О сколько раз твердили миру"

ИСПОЛЬЗУЙТЕ ПАРАМЕТРЫ, Б...!!!!!!


 
Медвежонок Пятачок ©   (2011-08-17 22:21) [2]

проблема уже озвучена в сообщении об ошибке.
осталось его прочитать.


 
armstrong   (2011-08-17 22:24) [3]

Я внимательно прочитал сообщение.
Вот в чем несоответсвие понять никаки не могу.
Не могли бы Вы подсказать?


 
Медвежонок Пятачок ©   (2011-08-17 22:27) [4]

там и про это тоже написано. в чем несоответсвие. читай еще раз


 
armstrong   (2011-08-17 22:30) [5]

Вы имеете ввиду что там дата а там строка?
как тогда правильно составить запрос?
меня с детства вроде учили, что даты обрамляются кавычками и всегда работало... только не в этом ADO..


 
armstrong   (2011-08-17 22:38) [6]

Ega23 ©, через парамерты отбор даты работает.
я не могу понять как передать в сомом выражении для ADO дату..


 
Медвежонок Пятачок ©   (2011-08-17 22:52) [7]

что даты обрамляются кавычками и всегда работало...

ты с прямым углом перепутал.
кавычками обрамляются строки а не даты


 
Ega23 ©   (2011-08-17 22:59) [8]


> я не могу понять как передать в сомом выражении для ADO
> дату..


ADODataSet.CommandText := "select startdate from my where startdate > :StratDate";

ADODataSet.ParamByName("StratDate").As ... := ....


 
armstrong   (2011-08-17 23:02) [9]

Ega23 ©, насчет параметров я вкурсе, всё работает..
Вот как передать дату в запросе напрямую..
Медвежонок Пятачок ©, а как тогда обрамлять дату?


 
Ega23 ©   (2011-08-17 23:10) [10]


> Вот как передать дату в запросе напрямую..


Так, как говорит Jet.


 
Медвежонок Пятачок ©   (2011-08-17 23:10) [11]

вот мы плавно и подошли к вопросу чтения документации на предмет строкового представления даты понятного адо


 
armstrong   (2011-08-17 23:14) [12]

#yyyy-mm-dd HH:MM:SS#


 
armstrong   (2011-08-17 23:18) [13]

function DateTimeForSQL(const dateTime : TDateTime) : string;
begin
  result := FormatDateTime("#yyyy-mm-dd hh.nn.ss#", dateTime) ;
end;


 
Ega23 ©   (2011-08-17 23:42) [14]


>  понятного адо


Не АДО, а конкретному драйверу.


 
Медвежонок Пятачок ©   (2011-08-17 23:52) [15]

есть форматы, понятные не конкретному провайдеру.
канонические.
тот же odbc canonical yyyy-mm-dd


 
ixen   (2011-08-18 10:48) [16]


> armstrong   (17.08.11 23:02) [9]
> Ega23 ©, насчет параметров я вкурсе, всё работает..
> Вот как передать дату в запросе напрямую..


ADODataSet.CommandText := "select startdate from my where startdate >"+quotedstr("01.01.2011");


 
OW ©   (2011-08-18 11:54) [17]


> ак передать дату в запросе напрямую..
>

зачем?

проще написать вспомогательную процедурку, аля
procedure GetByDate(Date: TDateTime);
begin
ADODataSet.CommandText := "select startdate from my where startdate > :StratDate";
ADODataSet.ParamByName("StratDate").As ... := Date;
end;

и юзать
GetByDate(StrToDateTime("01.01.2011"));



Страницы: 1 вся ветка

Текущий архив: 2011.12.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.012 c
15-1312603294
Мимо не прошел
2011-08-06 08:01
2011.12.04
Свое


2-1313755879
Cobalt
2011-08-19 16:11
2011.12.04
проверка строки на соответсвие маске


15-1304575753
samalex2504
2011-05-05 10:09
2011.12.04
Нет копирования содержимого компонентов Delphi в Excel и Word


15-1313440203
Юрий
2011-08-16 00:30
2011.12.04
С днем рождения ! 16 августа 2011 вторник


15-1312952292
OW
2011-08-10 08:58
2011.12.04
Дизайнеры прикалываются %)