Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод дат находящихся в промежутке 
:(
    Опции темы
SnowSin
Дата 30.11.2010, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



База данных в access, программа в делфи. Не могу сделать запрос, нужно ввести 2 даты ( из одно поля), начальная и конечная, и в дбгриде мне выводятся даты которые находятся между ними, подскажите как сделать)
PM MAIL   Вверх
aleksh
Дата 30.11.2010, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



попробуй вводить с секундами, и покажи текст запроса на выборку дат
PM MAIL   Вверх
SnowSin
Дата 30.11.2010, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



мм, что за секунды?Oo 
Даты формата дд.мм.гг
Запросов у меня нету, я бес понятия как сделать, знаю что через between но не представляю как осуществить..
PM MAIL   Вверх
aleksh
Дата 30.11.2010, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

SELECT *
FROM [имя_таблицы]
WHERE [имя_поля] between #мм/дд/гггг# and #мм/дд/гггг#

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


Yersinia pestis
****


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

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



SnowSin, с AdoQuery знаком?


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


Опытный
**


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

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



Цитата(Данкинг @  30.11.2010,  17:01 Найти цитируемый пост)
SnowSin, с AdoQuery знаком? 

действительно... 
toSnowSin: а программа к бд уже подключена?
PM MAIL   Вверх
SnowSin
Дата 2.12.2010, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Сорь что не ответил, интернет рубанули на все выходные...


База уже подключена, как раз и интересует как сделать такой вывод через AdoQuery
PM MAIL   Вверх
CROTishka
Дата 2.12.2010, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Стоит наверно написать, на какой стадии вы остановились, и с чем у вас проблемы, чтобы избежать соревнования в телепатии. 
Обычно в общем виде это выглядит примерно так:
Код

  with TADOQuery.Create(Self) do
    begin
      Connection := <your connection>;
      SQL.AddStrings('<ваш запрос на SQL>');
      Open;
    end;

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


Новичок



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

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



я натыкал 2 эдита на форме и дбгрид, нада вводить в эдиты 2 даты, начальная и конечная и в гриде отобразятся даты которые расположены между введенными, вот тока я не знаю как написать это все в виде кода в делфи)
PM MAIL   Вверх
CROTishka
Дата 2.12.2010, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



 smile 
а простите кто вы по должности тогда?  smile 
PM MAIL   Вверх
SnowSin
Дата 2.12.2010, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Студен что то типо будующего техника-программиста, а это одна из функций моей убого-унылой программы


SELECT Профиль.[Дата разработки], Профиль.Профили, Профиль.[Код объекта]
FROM Профиль
WHERE (((Профиль.[Дата разработки]) Between #дата# And #дата#));              


вот sql код, как я понял мне нада задать параметр на вводимую дату и брать этот параметр из эдитов? И вот я хз как это сделать)

Это сообщение отредактировал(а) SnowSin - 2.12.2010, 11:04
PM MAIL   Вверх
CROTishka
Дата 2.12.2010, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ну вот, совсем другое дело.
забрать из едитов дату так: 
Код

Edit1.Text

но я вам настоятельно советую использовать для этого дела TDateTimePicker
тогда это будет выглядеть так:
Код

DateToStr(DateTimePicker1.Date)

и в конечном итоге должно получиться что-то вроде:
Код

const
  ZAPROS = 'SELECT Профиль.[Дата разработки], Профиль.Профили, Профиль.[Код объекта] ' +
             'FROM Профиль' +
            'WHERE Профиль.[Дата разработки] BETWEEN' +
                  'CONVERT(DATETIME, ''%s'') AND CONVERT(DATETIME, ''%s'')';
var
  sql: string;
begin
 sql := Format(ZAPROS, [DateToStr(DatePickerFrom.Date), DateToStr(DatePickerTo.Date)])

(обратите внимание на то, что в базе дата хранится в другом формате, и её надо преобразовывать: http://msdn.microsoft.com/ru-ru/library/ms...SQL.90%29.aspx)
PM MAIL   Вверх
superVad
Дата 2.12.2010, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



CROTishka, а параметрами не сработает?

Код

const
  ZAPROS = 'SELECT Профиль.[Дата разработки], Профиль.Профили, Профиль.[Код объекта] ' +
             'FROM Профиль' +
            'WHERE Профиль.[Дата разработки] BETWEEN :DATE1 AND :DATE2';

...

 ADOQuery1.Parameters.ParamByName('DATE1').Value := DatePickerFrom.Date;
 ADOQuery1.Parameters.ParamByName('DATE2').Value := DatePickerTo.Date;

PM MAIL   Вверх
CROTishka
Дата 2.12.2010, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



 smile 
Я не пользуюсь динамикой, потому про такую фичу не знал. 
Всегда думал что эти параметры исключительно для передачи значений в хранимки.
PM MAIL   Вверх
SnowSin
Дата 2.12.2010, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Огромное спасибо за помощь)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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