Вниз
Скачать: CL | DM;

Как отсортировать по переменному полю?   Найти похожие ветки 

← →
InokSilver   (2003-01-27 06:10) [0]

Проблема такая
Нужно отсортировать таблицу по полю который будет выбирать пользователь(ну то есть он будет кликать по шапке грида)
select pole1, pole2,... from table1 order by :usl
какой тип нужно выбрать в params для :usl
где :usl="pole1"(либо pole2)
перепробовал всякие варианты везде еррор
Нужно именно через Params
а пока пихаю весь запрос в query.sql.add select pole1, pole2 from table1 order by pole1


← →
Suntechnic ©   (2003-01-27 08:13) [1]

Никакой тип выбрать не получится. Имена полей не могут быть параметрами, точно так же как и имена таблиц. Можно конечно SQL динамически генерировать, но... ИХМО на каждый клик мыши слать SQL запрос на сервер не стоит. Я бы пересмотрел логику, хотя всё зависит в конечном итоге от поставленной задачи.


← →
Alexandr ©   (2003-01-27 08:58) [2]

1) Используя FIBPlus сортировать можно локально на клиенте
2) Ничего особенно плохого в изменении тескта SQL нету.
3) Ничего особенно сложного в формировании order by нету, особенно если пользоваться правильными компонентами


← →
ADOHelper   (2003-01-27 11:47) [3]

Если через ADO, то там есть свойство Sort
Пишешь
ADODataSet.Sort:="pole1";или
ADODataSet.Sort:="pole1 DESC";


← →
Alexandr ©   (2003-01-27 13:11) [4]

Вот Вот.
Все на OLE DB драйвер для Interbase


← →
KIR ©   (2003-01-27 20:20) [5]

Можно использовать функцию Format и динамически формировать запрос:

procedure SotrGrid(order: Byte);
var
S: String;
begin
S := "ORDER BY %s";
Query.SQL.Clear;
Query.SQL.Add("SELECT");
Query.SQL.Add("*");
Query.SQL.Add("FROM");
Query.SQL.Add("MyTable");
Case order of
0: Query.SQL.Add(Format(S,["pole1"]));
1: Query.SQL.Add(Format(S,["pole2"]));
2: Query.SQL.Add(Format(S,["pole3"]));
end;
end;


← →
Мышь ©   (2003-01-28 00:56) [6]

По моему опыту все рано или поздно упирается в написание своего GUI, так как посылать новый запрос - это долго и криво, но зато никто не мешает показать пользователю записи в произвольном порядке. Да и во всех GUI-библиотеках все равно что-нибудь, да не устраивает, особенно, если заказчик развитый... :)


← →
Alexandr ©   (2003-01-28 07:07) [7]

GU чего?
и где вы токо таких умных слов набрались?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
1-38286
Ash
2003-02-05 18:37
2003.02.13
DrawFocusRect


1-38247
soware
2003-02-05 14:13
2003.02.13
Панель программ на


1-38270
dimonf
2003-02-05 16:48
2003.02.13
Как запомнить какой контрол имел фокус при закрытии формы?


7-38608
Gayrus
2002-12-12 14:18
2003.02.13
Подскажите адрес COM порта


3-38108
Deniz
2003-01-27 19:24
2003.02.13
Caсhe




   Наверх