Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 30
1

Поиск по диапазону дат

29.04.2014, 11:44. Показов 2054. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа выдает ошибку синтаксиса(пропущен оператор). Я уже все перепробовала...помогите,пожалуйста.


Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.N5Click(Sender: TObject);
begin
if Form4.ShowModal=mrOK then
begin
N3.Enabled:=false;
with DataModule2.ADODataSet1 do
begin
Active:=false;
CommandType:= cmdText;
CommandText:='Select * from maindata where DateS>=+DateToStr(Form4.MonthCalendar1.Date)+ and DateS<=+DateToStr(Form4.MonthCalendar2.Date)';
 Active:=true;
 
end
end;
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2014, 11:44
Ответы с готовыми решениями:

Сумма по диапазону дат
Доброго здоровья почтенные. Чтото совсем между ушей замкнуло. Делаю по таблице фильтр по...

Фильтрация ADOQuery по диапазону дат
Здравствуйте. Помогите с фильтрациям есть ADOQuery подключенный к SQL Server 2008 поля data_time ...

ADOQuery запрос по диапазону дат
Добрый день всем! столкнулся с такой &quot;нерешаемой пока&quot; проблемой знаю что подобная тема...

Запрос на выборку записей из БД по диапазону дат
Выполняю следующий запрос: DM.ADOQuery1.Close; DM.ADOQuery1.Active := false; ...

12
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
29.04.2014, 11:50 2
Если запрос формируется программно, то его составляющие, значения которых берутся из переменных, компонентов и т.д. необходимо выносить за пределы текстовых констант.
Delphi
1
CommandText:='Select * from maindata where DateS>='+DateToStr(Form4.MonthCalendar1.Date)+' and  DateS<='+DateToStr(Form4.MonthCalendar2.Date);
Как-то так. Писал прямо на форуме, поэтому без проверки.
0
1 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 30
29.04.2014, 11:53  [ТС] 3
Streletz, спасибо,я попробовала.но теперь пишет,что число содержит синтаксическую ошибку в выражении
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
29.04.2014, 11:58 4
Цитата Сообщение от Татьянка22 Посмотреть сообщение
спасибо,я попробовала.но теперь пишет,что число содержит синтаксическую ошибку в выражении
Для начала, с какой СУБД работаете?
Текст запроса из отладчика в студию!
0
1 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 30
29.04.2014, 12:03  [ТС] 5
Streletz, с Аксессом.
Мне стыдно,но к сожалению я не умею пользоваться отладчиком...
Если у вас есть время,чтобы посмотреть программу,могу скинуть
0
103 / 102 / 51
Регистрация: 28.01.2014
Сообщений: 310
29.04.2014, 12:08 6
Татьянка22, дату через параметры отправляйте, если подобная ошибка будет, то дату в формате гггг.мм.дд отправте
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
29.04.2014, 12:27 7
я не умею пользоваться отладчиком...
1 из самых простых, из числа возможных, способов вывода запроса без отладчика:
Delphi
1
ShowMessage (DataModule2.ADODataSet1.CommandText);
Если нет желания работать с параметрами, хотя, в случае Access, параметрические запросы наиболее оптимальный вариант, то нужный формат даты для подстановки непосредственно в текст запроса #MM/DD/YYYY# (этот же формат иногда помогает если возникают ошибки с параметрическими запросами) или смотрите в сторону DateSerial.
0
1 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 30
29.04.2014, 12:33  [ТС] 8
В общем, помогло,когда я дописала:
ShortDateFormat := '#dd/mm/yyyy#';
DateSeparator := '/';
Но мне не нравится,что и символ "#" тоже выводиться
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
29.04.2014, 12:42 9
Цитата Сообщение от Татьянка22 Посмотреть сообщение
Но мне не нравится,что и символ "#" тоже выводиться
Где выводится?
Если Вы выводите запрос на экран, то, как я уже писал выше, для Access это вполне естественно.
Если нет, то ошибку (скрин(ы))в студию!
0
1 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 30
29.04.2014, 12:49  [ТС] 10
Цитата Сообщение от Streletz Посмотреть сообщение
Где выводится?
да,я вывожу запрос на экран. Наверное, и в правду это нормально. Я просто только начала разбираться в Delphi
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
29.04.2014, 12:56 11
Цитата Сообщение от Татьянка22 Посмотреть сообщение
Наверное, и в правду это нормально.
Дело в том, что это действительно нормально. Запрос выводится именно так как его "воспринимает" Access.
Цитата Сообщение от Татьянка22 Посмотреть сообщение
Я просто только начала разбираться в Delphi
Ничего страшного. Все мы когда-то тоже были новичками. Если есть желание, то со временем освоитесь...
1
1 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 30
29.04.2014, 12:59  [ТС] 12
Streletz, спасибо
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
29.04.2014, 13:05 13
Пожалуйста!
0
29.04.2014, 13:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2014, 13:05
Помогаю со студенческими работами здесь

Вывод данных в DBGrid по диапазону дат
Всем привет, вопрос в следующем, нужно сделать так чтоб данные из DBGrid выводились по диапазону...

ADOQuery поиск по диапазону даты
Подскажите пожалуйста как сделать поиск по диапозону даты регистрации в стране. Сколько пытаюсь...

Поиск по БД по числовому диапазону и имени
Добрый день. Имеется БД, созданная в MS Access. В Delphi работает через ADOConnection. На форме...

Поиск среди дат
Здравствуйте. Есть условие запроса в базу: WHERE (event_end BETWEEN :Hstart AND :Hend) OR...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru