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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2014, 17:25   #1
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию [Delphi 7, BDE]: Как отобразить выборку (результат запроса SELECT) в DBGrid?

Здравствуйте.
Вопрос, казалось бы, очень простой и банальный, однако поиск информации в интернете мне пока ничего не дал.

Есть БД (драйвер: paradox), состоящая из одной таблицы. На D7 разрабатывается приложение, работающее с этой БД. Задействованы следующие компоненты:
1. TTable
2. TdataSource
3. TDatabase
4. TDBGrid
5. TQuery

Приложение должно выполнять сортировку записей по всем полям, а также поиск записей. Все эти операции я хотел бы выполнять с помощью запроса SELECT, и найденные записи/отсортированные отображать в том же DBGrid, при этом в случае поиска информации все записи, отображаемые по умолчанию, не должны отображаться, а должны отображаться только те, что были найдены. Чтобы вновь отобразить все записи из БД, я сделаю запрос select * from <имя_таблицы>, который отображу в том же DBGrid.

Вопрос: как мне осуществить то, что требуется?
Думаю, что для этого требуется использовать метод Open у объекта Query и, возможно, работать с TdataSource, так как, скорей всего, он задаёт то, что будет показать таблица.

Прошу описать как можно подробнее, так как у меня знаний в области разработки БД в контексте работы с Delphi практически нет, а до этого я ни с чём подобным не сталкивался.

Заранее спасибо и с уважением.
Вадим Мошев вне форума Ответить с цитированием
Старый 10.11.2014, 17:43   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

TTable не нужен коль SQL-запрос.
Записи фильтруются в условии WHERE запроса. В запросе же и сортируются.
dataSource ни чего не фильтрует, это только связка
DataBase<-Query<-DataSource<-DBgrid
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.11.2014, 17:55   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Евгений
Цитата:
Записи фильтруются в условии WHERE запроса. В запросе же и сортируются
Да, я это знаю. Сортировка же достигается конструкцией ORDER BY <поле> [DESC].

Но как мне отобразить данные, я это спрашивал.
Вадим Мошев вне форума Ответить с цитированием
Старый 10.11.2014, 17:59   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В демках Д7 есть примеры работы с TQuery. \Demos\db\Filter например
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.11.2014, 09:49   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вадим, здесь пример сортировки кликами по заголовкам колонок грида. Колонка и порядок сортировки выделены цветом, маркером на DBGrid много мороки, лучше более продвинутый грид. Таблицу использую Country из алиаса DBDEMOS
Вложения
Тип файла: zip My.Zip (7.1 Кб, 28 просмотров)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 11.11.2014 в 09:53.
Аватар вне форума Ответить с цитированием
Старый 11.11.2014, 14:57   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Евгений, большое спасибо, я буду разбираться.
Вадим Мошев вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранит результат запроса в переменную (Delphi+SQL); Balanar Помощь студентам 1 29.06.2011 22:51
VBA передать параметр в запрос на выборку и отобразить результат запроса на форме Сергей089 Microsoft Office Access 5 27.12.2010 18:12
Как записать в переменную delphi результат sql запроса? mar4elo БД в Delphi 1 03.12.2009 16:59
как отобразить в dbgrid результат выполнения commandText двух adodataset? Гузель БД в Delphi 2 13.08.2008 16:17