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

Вниз

Не работает простой запрос, говорит "несоответствие типов"   Найти похожие ветки 

 
Кирей   (2007-11-19 09:34) [0]

запрос вида:
SELECT DISTINCT KOD_CONT, DATA
FROM "12_2007\CONT_ZD.DBF"
WHERE
(DATA > "01/11/2007")
ORDER BY KOD_CONT, DATA
похоже (DATA > "01/11/2007") - строка с ошибкой, как написать правильно? Использую ADO.


 
Anatoly Podgoretsky ©   (2007-11-19 09:37) [1]

> Кирей  (19.11.2007 09:34:00)  [0]

Используй параметры


 
Кирей   (2007-11-19 09:45) [2]

Я в прнципе дату заношу во временную таблицу, а потом уже отттуда
d.DATA > d1.data, но хотелось бы сделать динамическое формирование запроса. Да и вообще почему не работает?


 
Anatoly Podgoretsky ©   (2007-11-19 09:47) [3]

> Кирей  (19.11.2007 09:45:02)  [2]

Не работает из-за несоответствия литерала текущему формату.


 
Кирей   (2007-11-19 10:35) [4]

привел в соответствие, не работает, - ошибка в имени функции, но все по науке:
(DATA >cast("01/11/2007 00:00:00.000" as datetime))


 
Sergey13 ©   (2007-11-19 10:39) [5]

> [4] Кирей   (19.11.07 10:35)
Не судьба попробовать
[1] Anatoly Podgoretsky ©   (19.11.07 09:37)
?


 
Кирей   (2007-11-19 10:44) [6]


> Используй параметры



> Я в прнципе дату заношу во временную таблицу, а потом уже
> отттудаd.DATA > d1.data, но хотелось бы сделать динамическое
> формирование запроса. Да и вообще почему не работает?


По большому счету одно и то же, запрос нормально работает, но хотелось бы все упростить, сочинил запрос и выполнил, без параметров и лишних таблиц.


 
sniknik ©   (2007-11-19 10:46) [7]

> ошибка в имени функции, но все по науке:
т.е. это тебе наука говорит используй функции из одного SQL движка в другом? тогда нафиг такую науку, переходи на шаманство...
на правах рекламы, продаю бубны, оптом и в розницу. дорого. ;о))


 
sniknik ©   (2007-11-19 10:50) [8]

> По большому счету одно и то же
да ну?

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


 
Кирей   (2007-11-19 11:00) [9]

ладно, спасибо за помощь, за бубны, но я думал эта конференция для начинающих


 
Desdechado ©   (2007-11-19 11:01) [10]

"Упростить" и "без параметров" неосуществимо в общем случае.
Годится только для SELECT * FROM tab
2.5.Использование параметрических запросов
Использование параметров в запросах является правилом хорошего тона в программировании, поскольку имеет множество положительных аспектов:
Улучшается читаемость и облегчается сопровождение кода программ.
При циклических выполнениях запроса с разными значениями параметров есть возможность «подготовить» запрос на сервере один раз, после чего он выполняется быстрее без необходимости «подготовки» на каждой итерации.
Исчезают ошибки, связанные с наличием апострофов, кавычек и неожиданных форматов даты внутри заданных пользователем текстовых строк в конструируемых «на лету» запросах.
Запросы, «подготовленные» сервером, хранятся некоторое время в кэше. Параметрический запрос хорош в этом случае тем, что он подходит для любых значений параметров такого же запроса, тогда как непараметрический – только для точно такого же, включая заданные в его теле (а не в параметрах) значения. Поэтому при совпадении «подготовка» не проводится, что для параметрического запроса это случается гораздо чаще, чем для непараметрического.
Непараметрические запросы тоже попадают в кэш, «выбивая» оттуда давно неиспользованные запросы (любого вида). Однако при большом потоке разнообразных запросов выбиваются и параметрические, которые имели шанс быть использованными далее, и заменяются непараметрическими, которые таких шансов не имеют. Это отрицательно сказывается на производительности сервера, т. к. ему приходится заново подготавливать параметрические запросы, уже «выбитые» из кэша.


 
Reindeer Moss Eater ©   (2007-11-19 11:02) [11]

т. к. ему приходится заново подготавливать параметрические запросы, уже «выбитые» из кэша.

FROM "12_2007\CONT_ZD.DBF"


 
Anatoly Podgoretsky ©   (2007-11-19 11:08) [12]


> (DATA >cast("01/11/2007 00:00:00.000" as datetime))

Шило на мыло поменял, это делается автоматически без cast


 
Anatoly Podgoretsky ©   (2007-11-19 11:08) [13]


> FROM "12_2007\CONT_ZD.DBF"

А он ССЗБ, за это время мог бы и намекнуть детали.


 
Johnmen ©   (2007-11-19 11:34) [14]


> но я думал эта конференция для начинающих

Ты ещё заплачь.


 
palva ©   (2007-11-19 13:47) [15]

У меня работает, если дату заключить в скобки # #
Вот я кладу на форму компоненты DBGrid DataSource ADOQuery, сцепляю их,
Устанавливаю в ADOQuery ConnectionString =
Driver={Microsoft dBASE Driver (*.dbf)};Dbq=C:\Program Files\Common Files\Borland Shared\Data;
SQL = select FIRST_NAME from CLIENTS.DBF where DATE_OPEN=#10/23/1990#
После чего перевожу Active в True и у меня работает.


 
Ditrix ©   (2007-11-19 14:39) [16]

[0]
BDE я полагаю?

(DATA > "01.11.2007")
такой формат даты должен пройти без проблем


 
Anatoly Podgoretsky ©   (2007-11-19 14:54) [17]

> Ditrix  (19.11.2007 14:39:16)  [16]

Неправильно полагаешь.
http://podgoretsky.com/DM/delphimaster.html


 
ditrix ©   (2007-11-19 15:23) [18]

> Anatoly Podgoretsky ©   (19.11.07 14:54) [17]
а можно точнее ткнуть носом?
я неправ, видимо, в подходе в целом
а вот в чем  именно?


 
Anatoly Podgoretsky ©   (2007-11-19 15:29) [19]

Смотри про локализацию и форматы, что русским программистам наплевать на форматы.
Формат определяется локализацией системы. Параметры избавлены от этой проблемы.


 
Anatoly Podgoretsky ©   (2007-11-19 15:31) [20]

http://podgoretsky.com/DM/BadWillPoetry.html#BW-07


 
Ditrix ©   (2007-11-20 09:27) [21]

Anatoly Podgoretsky ©   (19.11.07 15:29) [19]
>>...русским программистам наплевать на форматы.
>>Формат определяется локализацией системы. Параметры избавлены от >>этой проблемы.
не дает покоя эта тема. :-\
а вариант DateToStr(Date) избавлен от проблеммы локализации?

т.е.
Query.SQL.Text:= Format("select * from table where date > "%s"",[DateToStr(Date)])
...у меня полно подобного кода...


 
Anatoly Podgoretsky ©   (2007-11-20 09:34) [22]

> Ditrix  (20.11.2007 09:27:21)  [21]

Как раз наоборот, это причина получения не рабочего кода.
Используй параметры.


 
Ditrix ©   (2007-11-20 09:56) [23]

спасибо



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

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

Наверх




Память: 0.52 MB
Время: 0.026 c
15-1195012473
Pazitron_Brain
2007-11-14 06:54
2007.12.16
С каких пор все стали "чо"кать?


15-1195174258
Германн
2007-11-16 03:50
2007.12.16
И про футбол, но и не только :)


2-1195631886
DukeArtem
2007-11-21 10:58
2007.12.16
ReadOnly для переменной


15-1195058193
VmR
2007-11-14 19:36
2007.12.16
По какому принципу изменяют версию программы


2-1195648487
kudatsky
2007-11-21 15:34
2007.12.16
Ограничение на количество открытых DBF-файлов