Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 12:06   #11
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
Да нет, там у вас лабуда написана, причем странная.


Что значит как? в условии надо указать между чем и чем.

Какого типа поле Дата, и какие реальные данные оно содежит?
это я от безвыходности на скорою руку придумал, но с ним работает, хотелось чтоб можно было за разные периоды выберать!!

SELECT base.маршрут, Sum(base.тонаж) AS [Sum-тонаж] FROM base where Дата between "01.03.2012" and "31.03.2012" GROUP BY base.маршрут
но так не работает, в чем ошибка??
Genas вне форума Ответить с цитированием
Старый 04.05.2012, 12:22   #12
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Юзайте параметры.
=master= вне форума Ответить с цитированием
Старый 04.05.2012, 12:25   #13
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
Юзайте параметры.
я с параметрами не селен!! хоть намекните!!!как это!!!
FROM base where Дата between "'+combobox1.text+'" and "'+combobox2.text+'" GROUP BY base.маршрут

Последний раз редактировалось Genas; 04.05.2012 в 12:29.
Genas вне форума Ответить с цитированием
Старый 04.05.2012, 12:38   #14
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Я не понимаю про что еще намекнуть, вроде уже намекнул.
Открывайте справку там все расписано и есть примеры.

Последний раз редактировалось =master=; 04.05.2012 в 12:42.
=master= вне форума Ответить с цитированием
Старый 04.05.2012, 12:42   #15
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
Я не понимаю про что еще намекнуть, вроде уже намекнул.
Открывайте справку там все расписано и есть.
смотрел я справки, чето не выходит, то оператора не хватает, то синтаксис не верный (((
или ты имеешь введу , => and <= ??

Последний раз редактировалось Genas; 04.05.2012 в 12:45.
Genas вне форума Ответить с цитированием
Старый 04.05.2012, 12:53   #16
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

where äàòà >= "01.04.2012" and äàòà <= "30.04.2012"
несоответствие типов данных в выражение условий отбора
Genas вне форума Ответить с цитированием
Старый 04.05.2012, 12:55   #17
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Я имею ввиду параметры.
и вы не ответили на предыдущий вопрос.
=master= вне форума Ответить с цитированием
Старый 04.05.2012, 12:57   #18
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

после обеда посмотрю еще раз!!
Genas вне форума Ответить с цитированием
Старый 04.05.2012, 13:32   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну почему Вы в поиск не хотите сходить. По ключевому слову "запрос" и "параметры" легко бы нашли - тема эта на форуме больше 9000 тысяч раз обсуждалась!

речь идёт о:
Код:
var
  dt1, dt2 : TDatetime;
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text :=
     'SELECT base.маршрут, Sum(base.тонаж) AS [Sum-тонаж] ' +
     ' FROM base where Дата BETWEEN :first_date AND :last_date ' +
     ' GROUP BY base.маршрут ';

  dt1 := trunc(DateTimePicker1.Date);
  dt2 := trunc(DateTimePicker2.Date);
  ADOQuery1.Parameters.ParamByName('first_date').Value := dt1;
  ADOQuery1.Parameters.ParamByName('last_date').Value  := dt2;
  ADOQuery1.Open;
даты в примере берутся из TDateTimePicker - нужно их два штуки бросить на форму..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.05.2012, 14:55   #20
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ну почему Вы в поиск не хотите сходить. По ключевому слову "запрос" и "параметры" легко бы нашли - тема эта на форуме больше 9000 тысяч раз обсуждалась!

речь идёт о:
Код:
var
  dt1, dt2 : TDatetime;
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text :=
     'SELECT base.маршрут, Sum(base.тонаж) AS [Sum-тонаж] ' +
     ' FROM base where Дата BETWEEN :first_date AND :last_date ' +
     ' GROUP BY base.маршрут ';

  dt1 := trunc(DateTimePicker1.Date);
  dt2 := trunc(DateTimePicker2.Date);
  ADOQuery1.Parameters.ParamByName('first_date').Value := dt1;
  ADOQuery1.Parameters.ParamByName('last_date').Value  := dt2;
  ADOQuery1.Open;
даты в примере берутся из TDateTimePicker - нужно их два штуки бросить на форму..
Спасибо получилось!!!! я просто раньше с SQL не когда не работал, видел похожий пример, но че то не разобрался, не знал что за параметры, и что они должны быть в формате ДАТА!! еще раз спасибо!!
Genas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi + ADO + Access Vanta11a Помощь студентам 2 06.09.2010 21:54
access+delphi+ado aid_013 БД в Delphi 2 10.07.2010 09:28
Delphi+Ado+Access kmvteam БД в Delphi 26 09.07.2010 02:08
Delphi+ADO+Access Turpa Помощь студентам 12 15.10.2007 23:29