Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с запросом [D5]


Алик ©   (2002-11-03 14:37:00) 

Доброе время суток.
Создал простую базу данных (Добавить,Изменить,Удалить,Отфильтровать).
Все это сделал с помощью DataSource1, Table1, DBGrid1 и кнопки.
Теперь мне надо отсортировать данные по одному полю (порядковый номер

(ХХХ) или время создания записи)
Беру компонент Query1 и соединяю DataSource-DataSource1

(DataSource1-Table1)
Пишу обработчик SQL и вызываю его Query1.ExecSQL;
С таблицей ничего не происходит.
Подскажите че делать


MsGuns   (2002-11-04 14:49:00) [1]

Кстати, насколько я знаю, метод ExecSQL НЕ возвращает результирующий НД, поэтому используется для удаления,коррекции,добавления,создания. Для получения набора для просмотра или редактирования используется Prepare/Open


myor   (2002-11-04 13:32:00) [2]

отключаешь от datasource1 table1 и подключаешь query1, тогда грид будет отображать результат запроса.
кстати, msguns прав(а): в sql есть order by- сотритовка, но запрос не редактируется.


MsGuns   (2002-11-03 15:34:00) [3]

Т.е. у тебя 2 компоненты (TTable и TQuery) завязаны на одну физ. таблицу ?
Тогда для того, чтобы грид (а он связан с несортированным TTable) был отвязан от TTable и привязан к TQuery. Или сунуть еще один грид для запроса, его сделать видимым, а старых спрятать. Но вообще-то это инвалидность какая-то, да еще данные в гриде от запроса нельзя редактировать (в SQL есть ORDER BY)

Намного грамотнее создать вторичный индекс по полю <Порядковый номер> и его просто активизировать (методы TTable.AddIndex,DeleteIndex св-во IndexName)

А вообще у меня интуиция вопит, что БД спроектирована не совсем, так сказать, оптимально..


Наверх

Титульная страница Поиск, карта сайта Написать письмо