Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
6 / 6 / 0
Регистрация: 16.05.2010
Сообщений: 98

Фильтрация по дате в IBDataSet через SQL запрос

08.01.2012, 00:27. Показов 3198. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Возникла проблема с фильтрацией по дате. Делаю в IBDataSet, база данных InterBase.
Делаю так: в datetimepicker (dtp1) выбираю дату, заношу ее в Edit1
Delphi
1
edit1.Text:=FormatDateTime('yyyy-mm-dd',dtp1.Date);
Затем на кнопку фомирую запрос
Delphi
1
IBDataSet1.SelectSQL.Add('select * from arenda where data_nach =''%'+edit1.Text+'%''');
Но в результате получаю только ошибку
Code
1
Dynamic SQL Error SQL error code=-104. Token unknown - Line2, char - 1
Какое такое Line2??? И что это вообще за ошибка)) И как от нее избавиться...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2012, 00:27
Ответы с готовыми решениями:

Фильтрация данных в DBGrid через SQL запрос DataSet-a
Delphi 2009, fibplus, firebird. Имеется DataSet c SQL-запросом: SELECT distinct raion.naz_rai, kvartira.KOMNAT_KV, ylica.naz_yl,...

SQL Server 2008, фильтрация данных по введенной дате
Здравствуйте. У меня такая проблема: Есть сервер SQL Server 2008. На нем хранится база данных, и нужная таблица.В ней много записей одна...

Фильтрация по дате через AdoQuery
Доброе время суток, подскажите пожалуйста, как выполнить фильтрацию по дате в bggrid. По текстовым полям разобрался как, а вот с датой не...

4
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
08.01.2012, 07:05
1. Если действительно есть необходимость формировать запрос динамически, то перед
IBDataSet1.SelectSQL.Add....
надо
IBDataSet1.SelectSQL.Clear;
Это, как вымыть ручки перед едой.
Далее на кой нужны эти все преобразования даты. Можно и нужно так
SQL
1
SELECT * FROM arenda WHERE data_nach = :P
Здесь P - параметр, которому до открытия набора необходимо присвоить значение
Delphi
1
IBDataSet1.ParamByName('P').AsDateTime := dtp1.Date;
Цитата Сообщение от Plug Посмотреть сообщение
Какое такое Line2??? И что это вообще за ошибка
Line2 - это номер строки в тексте запроса, в котором обнаружена ошибка. Почему Line2, не знаю, похоже что "ручки не свежие(см.совет выше по тексту)"
1
6 / 6 / 0
Регистрация: 16.05.2010
Сообщений: 98
08.01.2012, 11:33  [ТС]
Спасибо!=)
Может я конечно сделал что-то не правильно, но теперь выскакивает другая ошибка...
http://rghost.ru/35793837/image.png

Писал так:
Delphi
1
2
IBDataSet1.SelectSQL.Clear;
IBDataSet1.ParamByName('DATA_NACH').AsDateTime := dtp1.Date;
0
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
08.01.2012, 15:09
Уважаемый, ну вы бы чего-нибудь почитали, что-ли! Хоть хелпы, для начала!
При исполнении строки
Delphi
1
IBDataSet1.SelectSQL.Clear;
содержимое текста SelectSQL очищается. После этой строки там стерильная чистота. И никаких параметров там, естественно, нет! Поэтому после этой строки надо занести туда текст SQL. Если же вы прописали текст SQL статически, на этапе разработки, то очищать не надо!
Ну, и в сообщении об ошибке совершенно ясно написано, что SQL у вас пустой.
Посмотрите внимательно на свой первый пост. Там у вас строка кода
Delphi
1
IBDataSet1.SelectSQL.Add('select * from arenda where data_nach =''%'+edit1.Text+'%''');
Вот перед такой вставкой строки в текст запроса зачистка в "гигиенических" целях необходима.
1
6 / 6 / 0
Регистрация: 16.05.2010
Сообщений: 98
08.01.2012, 15:18  [ТС]
Благодарю. Теперь сам понял что глупость сделал... =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.01.2012, 15:18
Помогаю со студенческими работами здесь

SQL запрос по дате от и до
Есть вот такая схема: Нужно вывести развернутую информацию по поставщику, изделию и его деталях по дате от и до. Делаю вот такой...

SQL-запрос поиска по дате
Есть таблица Access(id, услуга, дата оказания). Как выбрать из этой таблицы записи определенного промежутка дней? Допустим, я выбрал в...

Delphi sql запрос по дате
Доброго времени суток! Излазил весь рунет, и не только в поисках ответа на свой вопрос. Есть процедура, вызывающая строки из таблицы в...

Delphi+Access+SQL запрос по дате
Добрый день. Подскажите пожалуйста. У меня есть следующий код. Form28.DateTimePicker4.Date := Date; Form28.DateTimePicker4.Time :=...

Delphi SQL запрос поиск в таблице по дате
Все добрый вечер! Нужна помощь. Создал SQL запрос, который позволяет при вводе в поле Edit и нажатии на кнопку находить записи в таблице....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru