Вниз
Скачать: CL | DM;

Даты в SQL - запросах   Найти похожие ветки 

← →
SergP ©   (2005-08-18 20:45) [0]

БД - Access

Имеется дата в переменной TDate
нужно удалить записи в таблице для которые определенное поле (типа ДатаВремя) больше чем заданная дата.
Типа AdoConnection.Execute(delete from card where data>....

Как написать такое ?
Интересуют два момента:
1. Синтаксис запроса где используются даты.
2. Если дату придется преобразовывать в строку, то интересует работоспособность запроса при различных национальных настройках винды.


← →
sniknik ©   (2005-08-18 20:54) [1]

параметр, и никакого синтаксиса учитывать не надо.

если строкой то больше вариантов что ошибешся именно ты, а аксесс в силу всеядности в данном вопросе, не даст ошибки а преобразует в первый подходяший формат.

http://delphimaster.net/view/15-1122405197/


← →
SergP ©   (2005-08-18 21:12) [2]


> если строкой то больше вариантов что ошибешся именно ты,
> а аксесс в силу всеядности в данном вопросе, не даст ошибки
> а преобразует в первый подходяший формат.


Насчет всеядности - это вроде бы и хорошо, но....
А вот интерестно как акцесс поймет дату типа 03/05/2005 ?
Как 3 мая или как 5 марта?


> параметр, и никакого синтаксиса учитывать не надо.


Это интерестнее...
Указаную Вами ветку прочитал.
Но есть еще небольшой вопросик, уже касающийся Дельфей,
Мне не очень хочется наставлять создавать лишние TADOQuery, тем более что мне нужны запросы только типа DELETE, INSERT, UPDATE.

Как сделать параметрический запрос используя TADoConnection?
Имеется ввиду если не трудно приведите примерчик...


← →
sniknik ©   (2005-08-18 21:40) [3]

> А вот интерестно как акцесс поймет дату типа 03/05/2005 ?
3 месяц(май) 5 число 2005г

> Как сделать параметрический запрос используя TADoConnection?
не получится, т.к. если посмотреть на интерфейсы обьектов, оберткой которых дельфевские являются то видно отличие...

Connection15 = interface(_ADO)
...
function Execute(const CommandText: WideString; out RecordsAffected: OleVariant;
     Options: Integer): _Recordset; safecall;
...

Command15 = interface(_ADO)
function Execute(out RecordsAffected: OleVariant; const Parameters: OleVariant; Options: Integer): _Recordset; safecall;

и если в источнике нет, то и дальше тоже. (можно конечно дополнительно к конекту комманд "прикрутить", исключительно для этого но зачем...)

> Мне не очень хочется наставлять создавать лишние TADOQuery, тем более что мне нужны запросы только типа DELETE,
> INSERT, UPDATE.
и правильно, для этого есть ADOCommand, про квери забудь. а для селектов/процедур ADODataSet. и все (итого 3 компонента) RDS-конектор в принципе можно использовать но, он так, сам по себе редкоиспользуемый.


← →
sniknik ©   (2005-08-18 21:41) [4]

> Насчет всеядности - это вроде бы и хорошо, но....
наоборот. это очень плохо...


← →
Anatoly Podgoretsky ©   (2005-08-19 09:43) [5]

SergP ©   (18.08.05 21:12) [2]
Как поймет так и поймет, а оно тебе надо бороться с пониманием, вместо того, что бы без него.


← →
SergP.   (2005-08-19 10:40) [6]


> Как поймет так и поймет, а оно тебе надо бороться с пониманием,
> вместо того, что бы без него.


Так и сделал уже... Через параметры...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
14-1126022890
-Саша-
2005-09-06 20:08
2005.10.02
VMware Workstation Problems


1-1126526856
infom
2005-09-12 16:07
2005.10.02
Выполнение команды после билда.


14-1126271364
Андрей Жук
2005-09-09 17:09
2005.10.02
Установка нестандартной частоты обновления экрана


14-1125595752
MacroDenS
2005-09-01 21:29
2005.10.02
Проверка телефонной линии (On-Line)


14-1126207957
Украинец
2005-09-08 23:32
2005.10.02
Нда... Недолго Ющенку осталось быть Президентом...




   Наверх