Имеется следующая процедурка:
- Код: Выделить всё
- procedure TfrmReferences.TabSheet1Show(Sender: TObject);
 var
 zq: TZQuery;
 zu: TZUpdateSQL;
 ds: TDataSource;
 begin
 zq := TZQuery.Create(Self);
 zq.Connection := frmMain.ZConnection1;
 zq.SQL.Clear;
 zq.SQL.Text := 'SELECT ID, sort as `Сорт.`, descr as `Значение` FROM root1 order by sort';
 //zq.SQL.Text := 'SELECT * FROM root1 order by sort';
 zu := TZUpdateSQL.Create(Self);
 zu.DeleteSQL.Text := 'DELETE FROM root1 WHERE'+
 ' ((root1.id IS NULL AND :OLD_id IS NULL) OR (root1.id = :OLD_id)) AND'+
 ' ((root1.sort IS NULL AND :OLD_sort IS NULL) OR (root1.sort = :OLD_sort)) AND'+
 ' ((root1.descr IS NULL AND :OLD_descr IS NULL) OR (root1.descr = :OLD_descr))';
 zu.InsertSQL.Text := 'INSERT INTO root1 (id, sort, descr) VALUES (:id, :sort, :descr)';
 zu.ModifySQL.Text := 'UPDATE root1 SET'+
 ' id = :id,'+
 ' sort = :sort,'+
 ' descr = :descr'+
 ' WHERE'+
 ' ((root1.id IS NULL AND :OLD_id IS NULL) OR (root1.id = :OLD_id)) AND'+
 ' ((root1.sort IS NULL AND :OLD_sort IS NULL) OR (root1.sort = :OLD_sort)) AND'+
 ' ((root1.descr IS NULL AND :OLD_descr IS NULL) OR (root1.descr = :OLD_descr))';
 zq.UpdateObject := zu;
 zq.Active := True;
 ds := TDataSource.Create(Self);
 ds.DataSet := zq;
 ds.Enabled := True;
 root1Editor.DataSource := ds;
 root1Editor.Columns.Items[0].Width := 30;
 root1Editor.Columns.Items[1].Width := 40;
 root1Editor.Columns.Items[2].Width := 240;
 end;
Все работает, но грид не редактируется.
Если zq.SQL.Text сменить на закомментированный - все редактируется и апдейтится отлично.
Подскажите, пожалуйста, как сделать запрос с перечислением полей редактируемым?



