Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Непонятки с датой. ошибка : Syntax error 
V
    Опции темы
ACMilian
Дата 23.1.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Помогите, пож-ста, разобраться вот в чём. Загружаю скрипт:
Scritp ADACCESS
   Insert into ORDERS
             (nuid, cid, data)
             values(:nuid:,:cid:,:data:)
 в ADOQuery
LoadScript( ExtractFilePath(ParamStr(0)) + 'SCREEPT.sql',  'ADACCESS', DataModule2.ADOQUERY3.SQL );
 SetParam( DataModule2.ADOQUERY3.SQL, 'nuid', '4' );
  SetParam( DataModule2.ADOQUERY3.SQL, 'cid', '4' );
  SetParam( DataModule2.ADOQUERY3.SQL, 'data', 'DateToStr(date))
после последней строки возникает ошибка : Syntax error in number in query expression '11.01.2007'
Что делаю не так?
PM MAIL ICQ   Вверх
voha
Дата 23.1.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А зачем дату в строку преобразовывашь? ИМХО это лишнее
PM MAIL   Вверх
ACMilian
Дата 23.1.2007, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Если так: SetParam( DataModule2.ADOQUERY3.SQL, 'data', date);
то не совместимость типов Дататайм и стринг...

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


Новичок



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

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



а запрос грузится в рантайме или нет
если нет, то помоему можно явно указать типы параметров запроса
если да, то в рантайме попробуй указать типы параметров, если такое можно в АДО

PM MAIL   Вверх
ACMilian
Дата 24.1.2007, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



запрос грузится после клика на кнопке...
PM MAIL ICQ   Вверх
voha
Дата 24.1.2007, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а если 
Код

SetParam( DataModule2.ADOQUERY3.SQL, 'data', Concat('''',DateToStr(date), ''''))


но я всеравно склоняюсь к мнению о том что параметры нужно типизировать

Это сообщение отредактировал(а) voha - 24.1.2007, 12:00
PM MAIL   Вверх
RideX
Дата 25.1.2007, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 94
Регистрация: 8.9.2004

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



ACMilian, чтобы всегда работало правильно и не было необходимости задумываться об этом, в SQL-запросе используй функцию из самого Jet SQL: DateValue.

В общем виде это должно выглядеть так:
Код

SELECT * FROM tblMaster WHERE [Дата заказа] = DateValue('25.01.2007');


Или вот, в частности, пример рабочего кода:
Код

strCmdText := 'SELECT * FROM '+ tblMaster + ' WHERE [Дата заказа] BETWEEN DateValue("' +
                DateTimeToStr(StartDate) + '") AND DateValue("' +
                DateTimeToStr(EndDate)   + '")';
ADOCommand.CommandText := strCmdText;
ADODataSetMaster.Recordset := ADOCommand.Execute;


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

Запрещено:

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

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


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

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

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


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

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


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

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


 




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


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

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