![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка [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);