Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.12.2016, 09:56
Glazur Glazur вне форума
Прохожий
 
Регистрация: 17.12.2016
Сообщения: 8
Версия Delphi: Delphi 7
Репутация: 10
Стрелка SQL + DBGrid + Button + DataTimePicker

Добрый день товарищи.Подскажите пожалуйста начинающему программисту.
Задача.Написание программы в Delphi.
В этой программе нужно делать выборку по дате и времени с такого число и время по такое то число и время.База данных находится в SQL.Моя задача написать скрипт в кнопки Delphi, который по итогу выдатс за определенный период даты и времени продукцию.Как все организовано.У меня DbGrid->подключен к DataSource->далее AdoQuery->и далее AdoConnection.E меня получилось сделать njkmrj когда задаешь в DatatimePiker именно то число и время которое в бд.А как сделать интервал между числами и чтоб он эту выборку выдывал в DbGrid я не знаю..подскажите.

Фото загрузил на файлообменик.
http://i053.radikal.ru/1612/2e/ec992d1cb1a4.jpg
и еще одна
http://s012.radikal.ru/i319/1612/97/2100dc86871c.jpg

Заранее всех благадарю...сделать нужно очень срочно.. ну как всегда)
Ответить с цитированием
  #2  
Старый 19.12.2016, 08:43
Glazur Glazur вне форума
Прохожий
 
Регистрация: 17.12.2016
Сообщения: 8
Версия Delphi: Delphi 7
Репутация: 10
Хорошо

Ребят разобрался сам, вот код исходник на Delphi 7 для кнопки:

Код:
ADOQuery4.SQL.Add('SELECT * FROM BizerbaPereveska where Datetime > = ' + '''' +  FormatDateTime('mm.dd.yyyy',DateTimePicker1.Date) + ' ' + TimeToStr(DateTimePicker3.Time) + ''' and Datetime < =  ''' +  FormatDateTime('mm.dd.yyyy',DateTimePicker2.Date) + ' ' + TimeToStr(DateTimePicker4.Time) + '''');
lmikle: Пользуемся тегами

Последний раз редактировалось lmikle, 19.12.2016 в 10:25.
Ответить с цитированием
  #3  
Старый 19.12.2016, 10:24
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Делай через параметры, тогда не будешь зависить от установленного формата даты/времени. И не надо будет каждый раз запрос переделывать.
В запрос:
Код:
select * from BizerbaPereveska where Datetime >= :dstart and Datetime <= :dend
Потом настроить параметры.
В коде кнопки надо примерно так:
Код:
ADOQuery4.Params.ParamByName('dstart').AsDateTime := DateTimePicker1.Date + DateTimePicker3.Time;
ADOQuery4.Params.ParamByName('dend').AsDateTime := DateTimePicker2.Date + DateTimePicker4.Time;

Последний раз редактировалось lmikle, 19.12.2016 в 19:55.
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
Glazur (26.12.2016)
  #4  
Старый 26.12.2016, 13:16
Glazur Glazur вне форума
Прохожий
 
Регистрация: 17.12.2016
Сообщения: 8
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Большое спасибо за ответ,я конечно все уже сделал , но коллега тоже говорил про параметры,хотя я немного не понял зачем нужны параметры если мы серовно по факту используем эти компоненты,только что писать многокилометровые компоненты не надо.

Цитата:
Сообщение от lmikle
Делай через параметры, тогда не будешь зависить от установленного формата даты/времени. И не надо будет каждый раз запрос переделывать.
В запрос:
Код:
select * from BizerbaPereveska where Datetime >= :dstart and Datetime <= :dend
Потом настроить параметры.
В коде кнопки надо примерно так:
Код:
ADOQuery4.Params.ParamByName('dstart').AsDateTime := DateTimePicker1.Date + DateTimePicker3.Time;
ADOQuery4.Params.ParamByName('dend').AsDateTime := DateTimePicker2.Date + DateTimePicker4.Time;
Ответить с цитированием
  #5  
Старый 26.12.2016, 21:22
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Параметры нужны по нескольким причинам.
1. Повторное использование запроса. Т.е. если сам запрос один и тот же, только отличается значениями в WHERE и т.п., можно один раз его настроить и потом задавая параметры использовать один и тот же компонент.
2. Вытекает из 1. В таком случае можно спокойно отладить запрос в спец. программе, потом заменить значения на параметы и поместить его в компонент. Т.е. экономия времени.
3. Отвязка от региональных настроек. Значение парамерта будет корректоно передано серверу даже если региональные настройки сервера и клиента не совпадают.
Если подумать, то можно найти еще кучу плюсов в использовании параметров. Но и минусы тоже есть. Один из них - дополнительные строчки кода на задание параметров.
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
Glazur (27.12.2016)
  #6  
Старый 27.12.2016, 07:05
Glazur Glazur вне форума
Прохожий
 
Регистрация: 17.12.2016
Сообщения: 8
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Спасибо большое за развернутый ответ,мир не без добрых людей с наступающим вас=)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:16.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter