0 / 0 / 1
Регистрация: 01.04.2015
Сообщений: 65

Не работает запрос SQL where на дату

19.05.2015, 19:06. Показов 637. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Уже часа 2 сижу вообще не могу въехать чего "ему" от меня надо, кароче должен отфильтровывать по дате полученной с TMonthCalendar
процедура кнопки
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm3.btn_dataClick(Sender: TObject);
var StartDate: string;
begin
      StartDate:=''+DateToStr(dt_Dat.date)+'''';
   DM_Shop.q_tovar_POISK.SQL.text:='select id_tovar, name_ed, name_kat, skidkaKat, Name_tovar,'+
' date_make, cena, skidka, kol, cena*kol*(100-skidkakat)/100 as itog'+
' from kategor, edin, tovar'+
' where (edin.id_ed=tovar.id_ed) and (kategor.id_kat=tovar.id_kat) and (date_make<= '+StartDate+')';
DM_Shop.q_tovar_POISK.Open;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.05.2015, 19:06
Ответы с готовыми решениями:

Нужно через sql запрос убрать дату из поля DataTime
Дорогие форумчане. Возникла новая проблема, на этот раз с выводом данных в DBGrid. У меня есть поле &quot;Время&quot; в БД Access, оно...

Как через SQL запрос определить системную дату и время?
как через SQL запрос определить системную дату и время? эту надо потом забить в поле датывремени, чтобы знать время изменения. Этот...

SQL-запрос на выборку с даты по дату (при одинаковой дате - пусто)
Всем доброго времени суток. На форме компонент DateTimePicker - две штуки, первый для &quot;Начиная с:&quot;, второй &quot;Заканчивая...

8
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
19.05.2015, 19:11
Передавай дату через параметр.
0
0 / 0 / 1
Регистрация: 01.04.2015
Сообщений: 65
19.05.2015, 19:20  [ТС]
можете рассказать поподробнее
не работает
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm3.btn_dataClick(Sender: TObject);
var StartDate: string;
begin
 
      DM_Shop.q_tovar_POISK.Parameters.ParamValues[StartDate].AsDate:=dt_Dat.date;
   DM_Shop.q_tovar_POISK.SQL.text:='select id_tovar, name_ed, name_kat, skidkaKat, Name_tovar,'+
' date_make, cena, skidka, kol, cena*kol*(100-skidkakat)/100 as itog'+
' from kategor, edin, tovar'+
' where (edin.id_ed=tovar.id_ed) and (kategor.id_kat=tovar.id_kat) and (date_make<= '+StartDate+')';
DM_Shop.q_tovar_POISK.Open;
 { dm_shop.tb_tovar.filter:= 'date_make<='''+DateToStr(dt_Dat.date)+'''';
  dm_shop.Tb_Tovar.Filtered:=true; }
  lb_kol_poisk.caption:='найденно '+inttostr(DM_Shop.Tb_Tovar.RecordCount)+' товаров';
lb_poisk.Caption:='Список товаров по дате '+DateToStr(dt_Dat.date)+'';
  if dm_shop.Tb_Tovar.RecordCount=0
  then  ShowMessage('Товаров по указанной ед. измерения не найденно');
end;
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
19.05.2015, 19:58
Цитата Сообщение от no0t24 Посмотреть сообщение
можете рассказать поподробнее
Посмотри этот пример: Вывести среднее арифметическое по столбцу таблицы "показатели" за заданный промежуток времени
0
0 / 0 / 1
Регистрация: 01.04.2015
Сообщений: 65
19.05.2015, 20:18  [ТС]
Ошибку пишет
Delphi
1
2
3
4
5
6
7
8
procedure TForm3.btn_dataClick(Sender: TObject);
begin
    DM_Shop.q_tovar_POISK.SQL.text:='select id_tovar, name_ed, name_kat, skidkaKat, Name_tovar,'+
' date_make, cena, skidka, kol, cena*kol*(100-skidkakat)/100 as itog'+
' from kategor, edin, tovar'+
' where (edin.id_ed=tovar.id_ed) and (kategor.id_kat=tovar.id_kat) and (date_make<=:d1)';
 DM_Shop.q_tovar_POISK.Parameters.ParamByName('d1').Value:=dt_Dat.date;
DM_Shop.q_tovar_POISK.Open;
Вот так целый день...
Миниатюры
Не работает запрос SQL where на дату  
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
19.05.2015, 21:25
Поле date_make какой тип имеет ?
И что за БД ?
0
19 / 19 / 12
Регистрация: 09.12.2014
Сообщений: 250
21.05.2015, 17:01
Цитата Сообщение от no0t24 Посмотреть сообщение
StartDate:=''+DateToStr(dt_Dat.date)+''' ';
вижу очевидные 2 кавычки в начале и 4 в конце, чтобы дату представить в правильном виде для скуэля, нужно 4 в начале и 4 в конце.

Цитата Сообщение от no0t24 Посмотреть сообщение
DM_Shop.q_tovar_POISK.Parameters.ParamBy Name('d1').Value:=dt_Dat.date;
здесь вообще не вижу кавычек

так что пробуй вот так, для первого твоего поста:
Delphi
1
 StartDate:=''''+DateToStr(dt_Dat.date)+'''';
0
0 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 13
21.05.2015, 18:20
вот так все считывается хорошо, только у меня дата задается через datetimepicker, так удобнее
Delphi
1
2
3
4
5
6
7
DataModule2.IBQuery12.Close;
DataModule2.IBQuery12.SQL.Clear;
DataModule2.IBQuery12.SQL.Add('select sotrudniki.Surname, medications.Name, Outgo.QUANTITY, Outgo.price, Clients.SURNAME as client from sotrudniki, medications, Outgo, Clients');
DataModule2.IBQuery12.SQL.Add('where Outgo.OG_DATE between :i and :j and Outgo.employee_id=sotrudniki.id_sotrudnika and Outgo.medications_id=medications.medications_id and Outgo.clients_id=clients.clients_id');
DataModule2.IBQuery12.Params.ParamByName('i').Value:=formatdatetime('dd.mm.yy', datetimepicker2.Date);
DataModule2.IBQuery12.Params.ParamByName('j').Value:=formatdatetime('dd.mm.yy', datetimepicker3.Date);
DataModule2.IBQuery12.Open;
Добавлено через 8 минут
Delphi
1
2
3
....
' where din.id_ed=tovar.id_ed and kategor.id_kat=tovar.id_kat and date_make<=: i';
...
0
0 / 0 / 1
Регистрация: 01.04.2015
Сообщений: 65
23.05.2015, 11:40  [ТС]
Разобрался ребят, сделал так:
Delphi
1
2
3
4
5
6
7
var m,y,d:word;
begin
decodedate  (dt_dat.Date,y,m,d);
 
  dm_shop.Q_TOVAR_POISK.SQL.Text:='SELECT Tovar.Name_tovar, Edin.Name_ed, Kategor.Name_kat, tovar.cena, tovar.date_make, itogi '+
'FROM Kategor, Edin, Tovar where (Edin.ID_ed = Tovar.Id_ed) and (Kategor.ID_kat = Tovar.Id_kat)'+
' and (date_make=#' + inttostr(m) + '/' +inttostr(d)+ '/'+ inttostr(y)+'#)';
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.05.2015, 11:40
Помогаю со студенческими работами здесь

Не работае запрос в SQL Navigator 6.0 хотя работает в 4 и SQL Plus
Добрый день. Такая вот непонятная проблемка нарисовалась на ровном месте. Установили SQL Navigator 6.0 и запрос: select (CASE WHEN...

SQL запрос, работающий в MS SQL Menegment'e не работает в делфи
Требуется выполнить запрос по нажатию кнопки, запрос сначала написал в Microsoft SQL Managment, где и написал свою БД, там запрос работает,...

Запрос работает в SQL Manager, но не работает в пхп
Всем привет. У меня есть такой простой запрос UPDATE r.db.pbase SET smf = 'Z' WHERE id = '3218104' Если его выполнять в MS SQL,...

Запрос работает в SQL Manager, но не работает в пхп
Скажу сразу функция mssql_get_last_message() ничего не выводит. $name=$_POST; $login=$_POST; $pass=$_POST; $ip_addr=$_POST; ...

SQL-запрос работает в Access, а в Delphi не работает :'(
Две связанные таблицы 1к1. Вводим данные в поле одной таблицы и во второй должны быть сделаны теже изменения в одноимённом поле, т.е....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Шаблоны и протоколы для создания устойчивых микросервисов
ArchitectMsa 19.04.2025
Микросервисы — архитектурный подход, разбивающий сложные приложения на небольшие, независимые компоненты. Вместо монолитного гиганта, система превращается в созвездие небольших взаимодействующих. . .
Изменяемые и неизменяемые типы в Python
py-thonny 19.04.2025
Python славится своей гибкостью и интуитивной понятностью, а одна из главных его особенностей — это система типов данных. В этом языке все, включая числа, строки, функции и даже классы, является. . .
Интеграция Hangfire с RabbitMQ в проектах C#.NET
stackOverflow 18.04.2025
Разработка современных . NET-приложений часто требует выполнения задач "за кулисами". Это может быть отправка email-уведомлений, генерация отчётов, обработка загруженных файлов или синхронизация. . .
Построение эффективных запросов в микросервисной архитектуре: Стратегии и практики
ArchitectMsa 18.04.2025
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает. . .
Префабы в Unity: Использование, хранение, управление
GameUnited 18.04.2025
Префабы — один из краеугольных элементов разработки игр в Unity, представляющий собой шаблоны объектов, которые можно многократно использовать в различных сценах. Они позволяют создавать составные. . .
RabbitMQ как шина данных в интеграционных решениях на C# (с MassTransit)
stackOverflow 18.04.2025
Современный бизнес опирается на множество специализированных программных систем, каждая из которых заточена под решение конкретных задач. CRM управляет отношениями с клиентами, ERP контролирует. . .
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
Коммуникация в реальном времени с SignalR в C# на примере создания чата
UnmanagedCoder 17.04.2025
Современный веб стремительно эволюционирует от статичных страниц к динамичным приложениям, где пользователи ожидают мгновенной реакции на свои действия. Представим, что вы отправляете сообщение. . .
Реализация CQRS с MediatR на C# .NET
stackOverflow 17.04.2025
Современная разработка программного обеспечения постоянно ищет пути повышения эффективности организации кода. Архитектурные паттерны появляются, эволюционируют, и те, что проявляют свою. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru