Форум: "Начинающим";
Текущий архив: 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 tab2.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.047 c