Главная страница
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.007 c
2-1313237802
Псарь
2011-08-13 16:16
2011.12.04
Как вывести растр через функцию DrawState?


4-1252505872
Игорь
2009-09-09 18:17
2011.12.04
SYSTEM_HANDLE_INFORMATION


15-1312895553
Медвежонок Пятачок
2011-08-09 17:12
2011.12.04
Внимание здешним телепатам. Есть работа


2-1314022808
Mishanja
2011-08-22 18:20
2011.12.04
Формирование TreeView


15-1313225476
dreamse
2011-08-13 12:51
2011.12.04
Подскажите компонент или юнит для построения вот таких графиков