Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MS Access, Дня между датами, В Access работает, в Delphi нет 
:(
    Опции темы
Cyclone
Дата 25.6.2009, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Привет.
Необходимо посчитать количество дней между датой в базе данных и введённой пользователем.
Используется Delphi7, MS Access 2003, ODBC, ADOQuery.

Проверяю запрос MS Access:
Код

SELECT р.id_работы, DateDiff("d", #01/01/2001#, [р.Дата_начала]) FROM Работа р


Всё работает нормально.
Тот же самый запрос в Delphi даёт EOleException.

Код

DataModule2.ADOQuery_Work_Details.Active := false;
DataModule2.ADOQuery_Work_Details.SQL.Clear;

DataModule2.ADOQuery_Work_Details.SQL.Append('SELECT р.id_работы, DateDiff("d", #01/01/2001#, [р.Дата_начала]) FROM Работа р');

DataModule2.ADOQuery_Work_Details.Active := true;
DataModule2.ADOQuery_Work_Details.Refresh;


Project xxx raised exception class EOleException with message '[Microsoft][Драйвер ODBC Microsoft Access] Слишком мало параметров. Требуется 1'. ...

Сами компоненты и подключние работают нормально.
Подскажите, в чём может быть причина? Возможно, дело в ODBC?

Спасибо.

Это сообщение отредактировал(а) Cyclone - 25.6.2009, 11:34
PM MAIL   Вверх
pseud
Дата 25.6.2009, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

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



ох уж эти русские названия полей...

Добавлено через 39 секунд
а так: 01.01.2001
?

Добавлено через 1 минуту и 5 секунд
ох уж эти русские названия таблиц...


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Данкинг
Дата 25.6.2009, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(pseud @  25.6.2009,  13:25 Найти цитируемый пост)
ох уж эти русские названия таблиц... 

Ну, ошибка точно не из-за них. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Frees
Дата 26.6.2009, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



а так?
Код

DataModule2.ADOQuery_Work_Details.Active := false;
DataModule2.ADOQuery_Work_Details.SQL.Clear;
DataModule2.ADOQuery_Work_Details.SQL.Add('SELECT р.id_работы, DateDiff("d", :Date_from, [р.Дата_начала]) FROM Работа р');
DataModule2.ADOQuery_Work_Details.ParamByName('Date_from').asDate := Date;
DataModule2.ADOQuery_Work_Details.Active := true;


а запрос типа 
Код

SELECT * FROM  Работа p

Работает?


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
dvamaster
Дата 26.6.2009, 10:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ИМХО
русские буквы работают корректно только под MSAccess, через ADO частенько глючит
не единственный факт!!!  smile стоит только поискать на форуме про ADO там в большенстве случаев виноват русский язык

ЛЮДИ ЗАБЕЙТЕ НА РУССКИЕ БУКВЫ, ВЫ ПРОГРАММИСТЫ (извините крик души, короче учите англицкий, даже вся добрая инфа на нем)


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
Данкинг
Дата 26.6.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(dvamaster @  26.6.2009,  11:42 Найти цитируемый пост)
русские буквы работают корректно только под MSAccess, через ADO частенько глючит

Ни разу не видел глюков, связанных с кириллицей. Да, я сам противник русских названий полей и никогда не называю поля по-русски, но так уж утверждать, что из-за кириллицы какие-то там глюки - тоже глупо. Что же это за СУБД такая "хорошая", если не понимает кириллицы? smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
dvamaster
Дата 26.6.2009, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



она прекрасно понимает криллицу в содержимом полей

Цитата(dvamaster @  26.6.2009,  13:42 Найти цитируемый пост)
русские буквы работают корректно только под MSAccess, через ADO частенько глючит


поправлюсь: неправильно расставленные квадратные скобочки и другой геморой ограничивающий русские названия

вопрос: не проще ли сразу писать на латинице???

дальше о спрашивал параметр, тобишь что-то из р.id_работы, [р.Дата_начала] не смог опрелелить как поле

Код

SELECT [р.id_работы], DateDiff("d", "#01/01/2001#", [р.Дата_начала]) FROM [Работа] AS [р]


или так
Код

SELECT [р].[id_работы], DateDiff("d", "#01/01/2001#", [р].[Дата_начала]) FROM [Работа] AS [р]


в общем извини, что нагрубил, у тебя тоже есть све мнение


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
Cyclone
Дата 1.7.2009, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В общем, дело было именно в ODBC и форматах даты...
Разбираться до конца не стал, благо, была возможность переехать на Jet - проблема отпала.
PM MAIL   Вверх
Sinneren
Дата 18.8.2009, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


{YaGoo}
*


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

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



Цитата(Cyclone @ 1.7.2009,  18:19)
В общем, дело было именно в ODBC и форматах даты...
Разбираться до конца не стал, благо, была возможность переехать на Jet - проблема отпала.

я итак на Jet 4.0
проблема есть.

PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




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


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

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