Форум: "Базы";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];
ВнизДиалекты SQL или ....? Найти похожие ветки
← →
Romann (2003-07-21 16:09) [0]Через компанент TQuery делаю запрос к таблицам FoxPro.
Алиас создан в ODBC Visual FoxPro Driver.
Простой запрос типа
SELECT Name, Fam, Year FROM Spis order by Year
выполняет без проблем, а на запрос
SELECT Name, Fam, Year FROM Spis
WHERE Year> 1955
Выдает ошибку General SQL Error
[ODBC Visual FoxPro Driver]Operator/Operand type mismatch
Что не так, или есть какие-нибудь ограничения в диалекте SQL.
← →
sniknik (2003-07-21 16:26) [1]тип поля Year? > 1955 = numeric ?? если нет то сравнивай с тем же типом.
← →
Romann (2003-07-22 16:26) [2]Выдает ощибку только с полем ТИПА DATA
← →
Sandman25 (2003-07-22 16:30) [3]Если Year имеет тип поля Date, то и сравнивать его надо со значением типа Date.
Попробуйте
SELECT Name, Fam, Year FROM Spis
WHERE Year> "1.1.1955"
← →
Romann (2003-07-26 09:28) [4]SELECT Name, Fam, Year FROM Spis
WHERE Year<"01.03.2003" выдает туже ошибку!
В описании базы данных Year имеет тип DATA и длинну 8, а в Explorer и DBGride поле имеет 10 разрядов (21.01.2003) .
Может гдето здесь проблема?
← →
Anatoly Podgoretsky (2003-07-26 09:33) [5]DATA <> Date
← →
Romann (2003-07-26 10:04) [6]В инфе указано тип поля D по моему это Date.
← →
kaif (2003-07-26 15:47) [7]С полями типа Date нужно всегда использовать параметрический запрос. Например:
Query.SQL.Text :=
"SELECT Name, Fam, Year FROM Spis WHERE Year < :Year";
Query.ParamByName("Year").AsDateTime := EncodeDate(2003,03,01);
Query.Open;
Иначе при изменении Региональных настроек windows (Date Separator) программа перестанет работать.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c