Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка по дате в Firebird 
V
    Опции темы
Mina
Дата 15.5.2008, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Подскажите как написать запрос на выборку по дате
пробовал так, не получается
Код

   DataSet.SelectSQL.Clear;
   DataSet.SelectSQL.Add('SELECT * FROM TABLE');
   DataSet.SelectSQL.Add('WHERE DATE = ' + '''15.05.2008''');
   DM.DSetTransfer.Open;


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


Опытный
**


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

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



Код

   DM.DSetTransfer.SQL.Clear;
   DM.DSetTransfer.SQL.Add('SELECT * FROM TABLE');
   DM.DSetTransfer.SQL.Add('WHERE DATE = ' + '''15.05.2008''');
   DM.DSetTransfer.Open;



--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Rodman
Дата 15.5.2008, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Цитата(Mina @  15.5.2008,  09:30 Найти цитируемый пост)
пробовал так, не получается

что говорит?
Код

   DataSet.SelectSQL.Add('WHERE DATE = ' + '''15.05.2008''');
   DM.DSetTransfer.Open;
тебе не кажется что ты открываешь че то не то! в какой то DataSet запрос кидаешь, а открываешь другое!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Mina
Дата 15.5.2008, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Извините, опечатка, должно быть так
Код

   DataSet.SelectSQL.Clear;
   DataSet.SelectSQL.Add('SELECT * FROM TABLE');
   DataSet.SelectSQL.Add('WHERE DATE = ' + '''15.05.2008''');
   DataSet.Open;


Добавлено через 13 минут
Цитата(Rodman @  15.5.2008,  09:51 Найти цитируемый пост)
что говорит?


Компилится без ошибок, но при подаче запроса ошибка 

Dynamic SQL Error.
SQL error code = -104.
Token unkown - line 2, column 12.
=.
'. Process stopped. Use Step or Run to continue.
PM MAIL   Вверх
Zmitro
Дата 15.5.2008, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

    DataSet.Close;
    DataSet.SQLs.SelectSQL.Clear;
    DataSet.SQLs.SelectSQL.Add('SELECT * FROM TABLE ');
    DataSet.SQLs.SelectSQL.Add('WHERE DATE = :param;');
    DataSet.Params.ParamByName('param').AsInteger := Date;
    DataSet.Prepare;
    DataSet.Open;

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


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Zmitro, почему параметр целый? это же дата!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Mina
Дата 15.5.2008, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Zmitro @  15.5.2008,  11:00 Найти цитируемый пост)
попробуй так:


При запросе на этой сроке
Код

DataSet.Prepare;


возникает ошибка

Dynamic SQL Error.
SQL error code = -104.
Token unkown - line 2, column 12.
=.
'. Process stopped. Use Step or Run to continue. 


Код

DataSet.Params.ParamByName('param').AsInteger := Date;


заменил на 
Код

DataSet.Params.ParamByName('param').AsDate := Date;


Это сообщение отредактировал(а) Mina - 15.5.2008, 11:19
PM MAIL   Вверх
Rodman
Дата 15.5.2008, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Код

    DataSet.Close;
    DataSet.SQLs.SelectSQL.Clear;
    DataSet.SQLs.SelectSQL.Add('SELECT [DATE], * FROM [TABLE] ');
    DataSet.SQLs.SelectSQL.Add('WHERE [DATE] = :param;');
    DataSet.Params.ParamByName('param').AsDate := Date;
    DataSet.Prepare;
    DataSet.Open;
слова TABLE и DATE зареганные... 
если мой запрос не сработает, то лучше переименуй поля и много проблем уйдет!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Zmitro
Дата 15.5.2008, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Rodman @ 15.5.2008,  11:07)
Zmitro, почему параметр целый? это же дата!

пардоны, параметр не тот ;)
PM MAIL   Вверх
Deniz
Дата 15.5.2008, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

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



Mina, напиши как зовут таблицу и поля в ней.
Имена полей/таблиц, которые совпадают с зарезервированными словами, надо брать в двойные кавычки, например "Date".
И стоит учитывать, что такое имя становится регистрозависимым, т.е. "Date" и "date" разные поля.

Это сообщение отредактировал(а) Deniz - 15.5.2008, 12:14


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Mina
Дата 16.5.2008, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо всем большое! smile 
Действительно все дело было в слове DATE, заменил на другое и все пошло.
Вопрос закрыт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0605 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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