Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/33: Рейтинг темы: голосов - 33, средняя оценка - 4.67
 Аватар для kskb7771
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 79

дата и время. запрос на выборку.

31.03.2010, 16:54. Показов 6332. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят не подскажите как сделать поиск по дате и времени совместно, при условии что у меня в базе не в одном поле всё, а в двух. Date и Time. на форме находится 4 DateTemiPicker-а в первые 2-а вводится дата C.. ПО.. ; и в следующие 2-а вводится время С.. ПО... . База в SQL.

дата работает, а куда бы записать поиск по времени и как связать их?


Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// запрос по дате
procedure TForm3.BitBtn1Click(Sender: TObject);
var
 dateNach, dateKon:TDate;
begin
    with Query3 do
     begin
        Close;
        Query3.active:=false;
       SQL.Clear;
        SQL.Add('Select * from Detalizaciya');
       SQL.Add('Where Date between :DateNach -1 and :DateKon');
       ParamByName('DateNach').DataType:= ftDateTime;
       ParamByName('DateKon').DataType:= ftDateTime;
        ParamByName('DateNach').Value:= DateTimePicker1.Date;
        ParamByName('DateKon').Value:= DateTimePicker2.Date;
        Open;
        Query3.active:=true;
        if Query3.RecordCount = 0 then ShowMessage('Записей за данный период нет!!!');
     end;
end;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.03.2010, 16:54
Ответы с готовыми решениями:

Запрос на выборку
Здравствуйте! пожскажите пожалйста, как должен выглядеть запрос на выборку... сразу на примере поясню Например есть база данных в ней...

Запрос на выборку
Здравствуйте, я создал таблицу access в делфи, теперь мне надо сделать из нее выборку в поле edit или DBedit. Я слышал что можно как то...

Запрос на выборку
Народ нужна ваша помощь!) Есть главная форма на ней я заполняю наряд на работы при нажатии на посмотреть примечание, отрывается другая...

9
15 / 15 / 1
Регистрация: 30.03.2010
Сообщений: 47
31.03.2010, 21:49
CAST( Date AS time ) должно вернуть только время, а дальше с ним как-то примерно так же.
Вообще немного не понятно в какой роли должно выступить время:
С 8:30 30.03.2010 по 18:00 31.03.2010 или ограничение по времени необходимо учитывать для каждого дня из интервала?

В первом случае запрос останется таким же, задача сведется к составлению даты+времени средствами дельфи.
Во втором придется дописывать запрос.
0
 Аватар для kskb7771
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 79
31.03.2010, 22:16  [ТС]
THTP, да нужно учитывать интервал времени для каждого дня!
0
57 / 57 / 10
Регистрация: 27.02.2010
Сообщений: 282
31.03.2010, 22:27
[DELPHI]SQL.Add('Where date between :dateNach -1 and :dateKon and Time between :TimeNach -1 and :TimeKon');/DELPHI]
0
 Аватар для kskb7771
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 79
31.03.2010, 22:32  [ТС]
Опробую..)спасибо
0
 Аватар для kskb7771
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 79
05.04.2010, 13:04  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure TForm3.BitBtn1Click(Sender: TObject);
var
 dateNach, dateKon:TDate;
 timeNach, timeKon:TTime;
begin
    with Query3 do
     begin
        Close;
        Query3.active:=false;
       SQL.Clear;
        SQL.Add('Select * from Detalizaciya');
      //SQL.Add('Where Date between :DateNach -1 and :DateKon'); 
      SQL.Add('Where date between :dateNach -1 and :dateKon and time between :timeNach -1 and :timeKon');
       ParamByName('dateNach').DataType:= ftDateTime;
       ParamByName('dateKon').DataType:= ftDateTime;
       ParamByName('dateNach').Value:= DateTimePicker1.Date;
        ParamByName('dateKon').Value:= DateTimePicker2.Date;
        ParamByName('timeNach').Value:= DateTimePicker3.Time;
        ParamByName('timeKon').Value:= DateTimePicker4.Time;
        Open;
        Query3.active:=true;
        if Query3.RecordCount = 0 then ShowMessage('Zapisey net!');
     end;
end;

Выдаёт ошибку: Project Project1.exe raised exception class EDBEngineError with message 'General SQL error. [Microsoft][ODBC SQL Server Driver][SQL Server]Error converting data type varchar to float.'.Process stopped. Use Step or Run to continue.

В базе тип поля Time -char.
0
15 / 15 / 1
Регистрация: 30.03.2010
Сообщений: 47
05.04.2010, 22:29
Ну дак... Время с чаром сравнить не может - вот и ругается. Надо конвертить строку со временем в, собственно, время. Что-то в духе CAST("time" as Time).
0
 Аватар для kskb7771
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 79
06.04.2010, 00:08  [ТС]
THTP, а по подробнее можно??
0
15 / 15 / 1
Регистрация: 30.03.2010
Сообщений: 47
06.04.2010, 08:06
Точный пример привести, к сожалению, не смогу, кастовать ничего не доводилось, т.к. большую часть запросов писал в оракле, а там есть такая замечательная штука, как to_date().

Теоретически должно выглядеть как-то так:
SQL
1
2
3
4
5
6
SELECT * 
FROM 
   Detalizaciya d
WHERE 
   d.date BETWEEN :dateNach -1 AND :dateKon 
   AND CAST(d.time AS TIME) BETWEEN :timeNach -1 AND :timeKon
0
 Аватар для kskb7771
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 79
21.04.2010, 13:15  [ТС]
THTP, Блин ругается. пишет: ... type time is not a defined system type . ' . Process stopped...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.04.2010, 13:15
Помогаю со студенческими работами здесь

Запрос на выборку
Всем привет, такая проблема, как сделать чтобы при нажатии на кнопку "выставить оценки" выходило окошечко где вводишь номер группы,...

Запрос на выборку
Здравствуйте, подскажите как сделать запрос на выборку по дате из DBDateTimeEditEh Пытался сделать так procedure...

Запрос на выборку
написал запрос на выборку, но вместо поиска таблица просто становится пустой, что не так? procedure TEmplyeers.searchClick(Sender:...

Запрос на выборку
Доброго времени суток. Помогите начинающему. У каждого учителя есть ученики, мне нужно лишь подсчитать у кого сколько и вывести это в...

Запрос на выборку
Есть 2 таблицы 'Заказы' и 'Издания' "ЗАказы" Код заказа кол-во Код издания "Издания" Код издания название Суть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru