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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2012, 16:18   #1
Marina8
Пользователь
 
Регистрация: 05.12.2011
Сообщений: 17
По умолчанию SQL + Datetimepicker

Имеется база в MySQL, подключение ADO Connection - AdoQuery.
В базе столбец в формате "DATETIME' (19.07.2011 0:00:00)

В приложении Delphi два Datetimepicker, в них указывается начальная и конечная дата для фильтрации

Код:
 
ADOQuery6.Active:=false;
ADOQuery6.SQL.Clear;
ADOQuery6.SQL.Add('SELECT * FROM vkladi  where Начало периода between :first_date and  :last_date');
AdoQuery6.Parameters.ParamByName('first_date').Value:=DateTimePicker3.DateTime;
AdoQuery6.Parameters.ParamByName('last_date').Value:=DateTimePicker4.DateTime;
ADOQuery6.Active:=true;
//Label53.Caption:= inttostr(AdoQuery6.Fields.Fields[0].AsInteger);
Требуется вывести строки дата в которых находится в указанном диапазоне и подсчитать их количество. У меня таблица пустая и в кол-ве пишется "0".
Диапазон дат в базе от 16.04.2011 по 20.04.2012. Укажите на ошибку!
Marina8 вне форума Ответить с цитированием
Старый 22.04.2012, 16:35   #2
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Начало периода это что такое?
=master= вне форума Ответить с цитированием
Старый 22.04.2012, 16:38   #3
Marina8
Пользователь
 
Регистрация: 05.12.2011
Сообщений: 17
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
Начало периода это что такое?
Начало_периода - это название столбца в таблице с датами

Последний раз редактировалось Marina8; 22.04.2012 в 16:45.
Marina8 вне форума Ответить с цитированием
Старый 22.04.2012, 16:52   #4
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

У вас в запросе не так.

какие данные в DateTimePicker3.DateTime и DateTimePicker4.DateTime?
и укажите параметрам их DataType
=master= вне форума Ответить с цитированием
Старый 22.04.2012, 17:23   #5
Marina8
Пользователь
 
Регистрация: 05.12.2011
Сообщений: 17
По умолчанию

-У вас в запросе не так.

Что не так? Как мне нужно изменить запрос что поиск осуществлялся в столбце Начало_периода?

-какие данные в DateTimePicker3.DateTime и DateTimePicker4.DateTime?

Дата и время в формате дд.мм.гггг чч:мм:cc, как и в базе данных

-и укажите параметрам их DataType

Можно пример? Не совсем поняла))



Для сравнения не нужно datetime преобразовывать в string?

Последний раз редактировалось Marina8; 22.04.2012 в 17:26.
Marina8 вне форума Ответить с цитированием
Старый 22.04.2012, 17:27   #6
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Цитата:
Что не так?
сами разницу не видите? Начало периода и Начало_периода
Цитата:
Дата и время в формате
не про форматы спрашивал, а про значения.
Цитата:
Не совсем поняла
AdoQuery6.Parameters.ParamByName('l ast_date').DataType = <указать нужное>
=master= вне форума Ответить с цитированием
Старый 22.04.2012, 17:39   #7
Marina8
Пользователь
 
Регистрация: 05.12.2011
Сообщений: 17
По умолчанию

Код:
procedure TForm1.Button13Click(Sender: TObject);
begin
ADOQuery6.Active:=false;
ADOQuery6.SQL.Clear;
ADOQuery6.SQL.Add('SELECT * FROM vkladi  where Начало_периода between :first_date and  :last_date');
AdoQuery6.Parameters.ParamByName('first_date').DataType:=ftDateTime;
AdoQuery6.Parameters.ParamByName('last_date').DataType:=ftDateTime;
AdoQuery6.Parameters.ParamByName('first_date').Value:=DateTimePicker3.DateTime;
AdoQuery6.Parameters.ParamByName('last_date').Value:=DateTimePicker4.DateTime;
ADOQuery6.Active:=true;
Label53.Caption:= inttostr(AdoQuery6.Fields.Fields[0].AsInteger);
Поправила, спасибо! Значения в таблицу выводятся, но не считаются)
Marina8 вне форума Ответить с цитированием
Старый 22.04.2012, 17:40   #8
Marina8
Пользователь
 
Регистрация: 05.12.2011
Сообщений: 17
По умолчанию

Со счетом разобралась, спасибо за участие!
Marina8 вне форума Ответить с цитированием
Старый 22.04.2012, 17:47   #9
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

На будущее, за * в запросе руки отбивают.
=master= вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дата в DateTimePicker из БД SQL DirtyBASS C/C++ Базы данных 1 13.04.2012 17:20
DateTimePicker и SQL запрос SlavyanD БД в Delphi 5 25.11.2011 10:10
datetimepicker Gul'ka Общие вопросы Delphi 0 11.06.2011 01:13
DateTimePicker в SQL запросе doldb БД в Delphi 12 05.01.2011 10:25