Ошибка при создании Sql-запроса
При вставке в ADOQuery SQL запроса следующего характера: Order By (Date/time) вылетает такая ошибка
а какой синаксис у запроса?
order by '12.12.05'?
если добавляешь переменную то ееё не забудь переконверить в формат даты. вот и все что пока на ум приходит.
приведи полный запрос...
[COLOR=red]ЗАПРОС[/COLOR]
Select*
from NAPOM
Order By (date/time)
//--------------------------------------------
Сама структура даты и времени такая
21.01.2004 13:13:13
По идее я все изложил...
[COLOR=red]ЗАПРОС[/COLOR]
Select*
from NAPOM
Order By (date/time)
Вообще-то нужно писать имя поля и без ().
Select*
from NAPOM
Order By имя_поля
Вообще-то нужно писать имя поля и без ().
Select*
from NAPOM
Order By имя_поля
а имя поля у меня как раз date/time
а имя поля у меня как раз date/time
Но тогда без (). И это не имя а выражение. Лучше бы написать номер поля.
[COLOR=red]ЗАПРОС[/COLOR]
Select*
from NAPOM
Order By (date/time)
//--------------------------------------------
Сама структура даты и времени такая
21.01.2004 13:13:13
По идее я все изложил...
очень интересекн фрагмент "(date/time)" - что это такое? там как уже сказали выше должно быть имя поля. если имя поля и есть "date", то работать и не будет - "date" - это зарезервированное слово, используй другое "dt" например... с "time" вроде то же самое
скорее всего оно интерпретируется как арифметическое выражение, так что поменяй на что-нибудь попроще... например "dttm"
[COLOR=red]ЗАПРОС[/COLOR]
Select*
from NAPOM
Order By (date/time)
//--------------------------------------------
Сама структура даты и времени такая
21.01.2004 13:13:13
По идее я все изложил...
не знаю кто как. а я так и не понял ничего.
date/time - выражение, переменная?
типа
sql_text = StrToDate(mydate);
ADOQuery->Sql->text = "Select * NAPOM order by '" + sql_text + "'";
ты это имел ввиду?
не знаю кто как. а я так и не понял ничего.
date/time - выражение, переменная?
типа
sql_text = StrToDate(mydate);
ADOQuery->Sql->text = "Select * NAPOM order by '" + sql_text + "'";
ты это имел ввиду?
шлянь на несколько постов выше:
"а имя поля у меня как раз date/time"
я так понял - поле так и называется :))) странное конечно имя для поля - заведомо глючное!
токо что увидел пост про имя поля :))))
скорее всего оно интерпретируется как арифметическое выражение, так что поменяй на что-нибудь попроще... например "dttm"
Ага! Она действительно как выражение интерпретировалось! Спасибо всем за внимание и помощь!
а вообще поосторожнее с именами полей... я вот постоянно на это натыкался одно время - теперь сраз укак глюки ползут первым делом проверяю на корректность имена полей... уже нашел что неадекватно реагирует на date, time, count, а всяких спецсимволов вообще лучше избегать...
Да я тоже когда изменять стал.. вначале date писал... =))) Так что опыт (пусть отрицательный), но появился!
Да я тоже когда изменять стал.. вначале date писал... =)))
Ситуации бывают разные, в том числе приходится поддерживать совместимость с программами, написанными неизвестно кем и неизвестно как. Поэтому многие сервера, и даже BDE имеют штатную возможность использовать практически любое слово в качестве идентификатора, экранировав его. Обычно в качестве экрана используются кавычки, у BDE надо задавать еще и имя таблицы через точку.