Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
Кирей   (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;
Скачать: [xml.tar.bz2];

Наверх




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


15-1195111653
ari_9
2007-11-15 10:27
2007.12.16
Что бы почитать про грамотное написание контейнеров?


11-1181380412
mdw
2007-06-09 13:13
2007.12.16
Версия 2.65


15-1195313211
IvanJ
2007-11-17 18:26
2007.12.16
Аналог из C++ в Delphi


15-1195046851
vasIZmax
2007-11-14 16:27
2007.12.16
Оптимизация по Парето (имхо, неэффективно решается)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский