Форум: "Базы";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
ВнизПомогите с запросом Найти похожие ветки
← →
Алик (2002-11-03 14:37) [0]Доброе время суток.
Создал простую базу данных (Добавить,Изменить,Удалить,Отфильтровать).
Все это сделал с помощью DataSource1, Table1, DBGrid1 и кнопки.
Теперь мне надо отсортировать данные по одному полю (порядковый номер
(ХХХ) или время создания записи)
Беру компонент Query1 и соединяю DataSource-DataSource1
(DataSource1-Table1)
Пишу обработчик SQL и вызываю его Query1.ExecSQL;
С таблицей ничего не происходит.
Подскажите че делать
← →
MsGuns (2002-11-03 15:34) [1]Т.е. у тебя 2 компоненты (TTable и TQuery) завязаны на одну физ. таблицу ?
Тогда для того, чтобы грид (а он связан с несортированным TTable) был отвязан от TTable и привязан к TQuery. Или сунуть еще один грид для запроса, его сделать видимым, а старых спрятать. Но вообще-то это инвалидность какая-то, да еще данные в гриде от запроса нельзя редактировать (в SQL есть ORDER BY)
Намного грамотнее создать вторичный индекс по полю <Порядковый номер> и его просто активизировать (методы TTable.AddIndex,DeleteIndex св-во IndexName)
А вообще у меня интуиция вопит, что БД спроектирована не совсем, так сказать, оптимально..
← →
myor (2002-11-04 13:32) [2]отключаешь от datasource1 table1 и подключаешь query1, тогда грид будет отображать результат запроса.
кстати, msguns прав(а): в sql есть order by- сотритовка, но запрос не редактируется.
← →
MsGuns (2002-11-04 14:49) [3]Кстати, насколько я знаю, метод ExecSQL НЕ возвращает результирующий НД, поэтому используется для удаления,коррекции,добавления,создания. Для получения набора для просмотра или редактирования используется Prepare/Open
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c