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

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

Сортировка [D7, IB6.x]


Spawn ©   (2003-07-17 19:27:00) 

Можно ли указывать поля по которым нужно сортировать в параметрах? То есть хочется чего то такого:


procedure TForm1.DBGridTitleClick(Column: TColumn);
var
IsActive:Boolean;
begin
with DM.IBDataSet1 do
begin
IsActive:=Active;
Active:=False;
SelectSQL.Clear;
SelectSQL.Add("SELECT * FROM Doc ORDER BY :FIELD");
ParamByName(":FIELD").AsString:=Column.FieldName;
if IsActive then
Active:=True;
end;
end;

Так же возникает такой вопрос - при таком запросе идет обращение к серверу. Можно ли сделать сортировку по уже принятому НД (Может при помощи еще одного DataSource, подключонного к DataSource с существующим НД? Или может метод Prepare убыстрит такие сортировки?).


Spawn   (2003-07-17 20:13:00) [1]

Просто в проге есть возможность отключения от базы данных. И я в другом фрагменте кода использовал данную переменную для сохранения этого факта. Этот код я быстренько набросал, забыв об етом. Но уже подправил)))


MsGuns   (2003-07-17 19:56:00) [2]

Кстати, а это что за масло масляное c проверкой открытости (манипуляции с перем.IsActive ? Достаточно, ИМХО, банальное

if not Q.Active then exit;
Q.Close;

...

try
Q.Open;
except
ShowMessage("Не сложилось :)");
exit;
end;


или я не прав ?


Spawn   (2003-07-17 19:36:00) [3]

MsGuns © (17.07.03 19:31)
А ведь точно) Сенк.


MsGuns   (2003-07-17 19:31:00) [4]

А так что, нельзя ?

SelectSQL.Clear;
SelectSQL.Add("SELECT * FROM Doc ORDER BY "+
Column.FieldName);


Наверх

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