Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> таблица Paradox 7, WHERE по полю date, не работает :( 
:(
    Опции темы
baobab
Дата 23.7.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 23.7.2008

Репутация: нет
Всего: нет



в localsql.hlp от BDE написано

Код

SELECT * FROM orders
WHERE (saledate <= "1/23/1998")



у меня практически такая же табличка. делаю такой же запрос.
Если в MS SQL 2005 линкед сервер, то


Код

OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "MyLinkedServer" returned message "Несоответствие типов данных в выражении условия отбора.".
Msg 7320, Level 16, State 2, Line 1
Cannot execute the query "SELECT * FROM people WHERE (hiredate = "01/01/2007")" against OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "MyLinkedServer".



если пробовать прогой ODBCView, грит
Код

ODBC Error -3010: [Microsoft][Драйвер ODBC Paradox] Слишком мало параметров. Требуется 1.


задача заключается в том что из таблицы парадокс 7 выгрузить в прогу на C# некоторые записи имеющие поле date в указанном интервале. только вот сделать это почему-то не получается
PM MAIL   Вверх
Poseidon
Дата 24.7.2008, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: нет
Всего: 133



Цитата(baobab @  23.7.2008,  12:23 Найти цитируемый пост)
у меня практически такая же табличка. делаю такой же запрос
?

Раз у тебя все практически такое же, то и результат у тебя почти тот, что надо. Давай точнее что у тебя за запрос, для начала.



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
baobab
Дата 24.7.2008, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 23.7.2008

Репутация: нет
Всего: нет



Код

SELECT * FROM people WHERE (hiredate = "01/01/2007")

пробовал убирать скобки, ставить одинарные кавычки, грит Data type mismatch in criteria expression. если ставить вместо равенства >, < ниче не меняется 

Это сообщение отредактировал(а) baobab - 24.7.2008, 10:44
PM MAIL   Вверх
Poseidon
Дата 24.7.2008, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: нет
Всего: 133



Цитата(baobab @  24.7.2008,  10:43 Найти цитируемый пост)
грит Data type mismatch in criteria expression
 hiredate у тебя какой тип? Текст? ДатаВремя?



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
baobab
Дата 24.7.2008, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 23.7.2008

Репутация: нет
Всего: нет



да ну какой текст... date
кстати к TimeStamp тоже не получается применить..
и EXTRACT(YEAR FROM hiredate) не пашет.

ну собсно ладно, я уже смерился с тем что все данные выгружаю... просто интересно откуда у проблемы ноги растут
PM MAIL   Вверх
Poseidon
Дата 28.7.2008, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: нет
Всего: 133



А в самой базе у тебя дата через слеш или через точку? Может так попробовать?

Код
SELECT * FROM people WHERE (hiredate = "01.01.2007")



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
baobab
Дата 29.7.2008, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 23.7.2008

Репутация: нет
Всего: нет



нет, к сожалению не помогает. "Data type mismatch in criteria expression".
PM MAIL   Вверх
Poseidon
Дата 30.7.2008, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: нет
Всего: 133



Что возвращает 
Код
SELECT hiredate FROM people

Хотя бы первые 5-10 записей.


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Akella
Дата 30.7.2008, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



попробуй использовать параметры
Код

SELECT * FROM people WHERE ( hiredate= :hiredate)

TQuery.ParamByName('hiredate').AsDate := DateTimePicker.Date;
PM MAIL   Вверх
baobab
Дата 31.7.2008, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 23.7.2008

Репутация: нет
Всего: нет



Akella
не дельфа к сожалению. OPENQUERY в MSSQL либо OleDbConnection в дотнет


Poseidon, к сожалению сказать не могу тк с сегодняшнего дня в отпуске smile всем спасибо за участие
PM MAIL   Вверх
Akella
Дата 7.8.2008, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



Цитата(baobab @  31.7.2008,  21:52 Найти цитируемый пост)
не дельфа к сожалению.

ну и.... не понял я тебя, ну и что что не делфа? а в дотнете нельзя параметры использовать?
PM MAIL   Вверх
HEXO4YXA
Дата 23.9.2008, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 20.2.2008

Репутация: нет
Всего: нет



такая же ерунда с парадоксом
timeval - параметр типа "timestamp" при 
Код

where
  (timeval > "18/07/2007 12:03:14")

выдает
Код

BDE Error: 11871 [$2E]$5F[]
Type mismatch in expression.

PM MAIL   Вверх
Akella
Дата 30.9.2008, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



Код

where
  (timeval > '18.07.2007 12:03:14')

Обрати внимание на одинарные кавычки и точки, в качестве разделителя даты.

так попробуй
Код

where
  (timeval > quotedStr('18.07.2007 12:03:14'))

timeval какого типа??

Это сообщение отредактировал(а) Akella - 30.9.2008, 09:19
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Другие СУБД | Следующая тема »


 




[ Время генерации скрипта: 0.0836 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.