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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2009, 12:22   #1
setrik777
 
Регистрация: 27.05.2009
Сообщений: 6
По умолчанию Sql-запрос по значению, введенному в Edit

Добрый день всем! Помогите пожалуйста с запросом.

Работаю с Delphi7, база данных Access, использую ADOQuery
Как написать запрос (в самом Query,а не коде), чтобы отфильтровать записи по значению, введенному в Edit? (сами значения в Edit меняются автоматически, но это уже совсем другая история)

В свойстве SQL я пишу:
select FIO, Nachisleno, K_vidache
from Nachislenie
where Mes='''+Edit1.Text+'''

В итоге - пустая таблица... Объясните - что я делаю не так?
(Поле Mes - текстовое)
setrik777 вне форума Ответить с цитированием
Старый 27.05.2009, 13:32   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от setrik777 Посмотреть сообщение
В свойстве SQL я пишу:
select FIO, Nachisleno, K_vidache
from Nachislenie
where Mes='''+Edit1.Text+'''
В итоге - пустая таблица... Объясните - что я делаю не так?
(Поле Mes - текстовое)
Лучше, если вы приведете полностью процедуру обращения к базе с формированием запроса, попытки получения результата и т.д.
Пока я могу лишь предположить частую логическую ошибку - вы в конце концов пишете ExecSql, хотя для получения результата нужно писать Open...
mihali4 вне форума Ответить с цитированием
Старый 27.05.2009, 13:36   #3
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

может стоит сделать так:select FIO, Nachisleno, K_vidache
from Nachislenie
where Mes=:mes.
А при нажатии кнопки нужно:
Query1.Parametrs.ParamByName('mes') .value:=Edit1.text
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 27.05.2009, 14:36   #4
setrik777
 
Регистрация: 27.05.2009
Сообщений: 6
По умолчанию

Дело в том, что мне нужно отфильтровать записи в самом ADOQuery, так как потом я отправляю отчет в Excel, а по всем записям пробегаться долго. Так что эта табличка у меня временная... и должна обновляться каждый раз при изменении значения в Edit.

Разве нельзя прописать запрос только в свойстве SQL, не прибегая к коду?

хотя... может я чего-то не понимаю...
setrik777 вне форума Ответить с цитированием
Старый 27.05.2009, 14:43   #5
VaBank
Пользователь
 
Аватар для VaBank
 
Регистрация: 26.05.2009
Сообщений: 26
По умолчанию

В самом Query нельзя обращаться к компонентам, т.е. в SQL редакторе самого копонента нельзя прописать where Mes='''+Edit1.Text+''' Это должно быть только в коде проекта.
Но можно как тебе написал Sparky использовать параметры.
Т.е. пишешь where Mes=:mes, где
:mes это параметр, которому передаются данные, а передавать данные ему надо в основном коде программы:

ADOQuery1.Close;
ADOQuery1.Parametrs.ParamByName('me s') .value:=Edit1.text //Пробелы убери в mes, что-то форум их сам ставит
ADOQuery1.Open;

И можешь поставить этот код туда, где у тебя автоматом изменяются данные в Edit.

Последний раз редактировалось VaBank; 27.05.2009 в 14:46.
VaBank вне форума Ответить с цитированием
Старый 27.05.2009, 15:26   #6
setrik777
 
Регистрация: 27.05.2009
Сообщений: 6
По умолчанию

VaBank

Спасибо большое! Получилось!!! Какие вы тут все умные! 8)))
setrik777 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL запрос + SQL запрос BeSeech Microsoft Office Access 10 14.02.2009 17:04
SQL-запрос Dissonance БД в Delphi 5 17.06.2008 07:11
Поиск в базе по значению в Edit Arteom БД в Delphi 2 19.10.2007 22:23
SQL-запрос Stenfit Помощь студентам 2 02.04.2007 18:35
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15