SQL запросы в Delphi

Рейтинг: -1Ответов: 1Опубликовано: 14.03.2015

Это код программы для добавления полей в таблицу, но он добавляет поле только после перезапуска программы, что сделать, чтоб поле добавлялось сразу?

Table1.Active:=False;
Query2.Close;
Query2.Sql.Clear;
Query2.Sql.Add('alter table '+Edit4.Text+' add '+Edit2.Text+'char(20)');
Query2.execSQL;
DBGrid1.Columns.Add;
Table1.Active:=False;
end;

Ответы

▲ 1

Если вы вручную не добавляли поля в Table1 (двойнок клик на компоненте - - add all fields), тогда возможно будет работать даже такой вариант.

Query2.Sql.Text := 'alter table '+Edit4.Text+' add '+Edit2.Text+'char(20)';
Query2.execSQL;

Table1.Refresh;

или

Table1.Refresh;
DBGrid1.Columns.Clear;
DBGrid1.Columns.Add;

PS: Можно еще использовать EnableControl/DisableControl - не будет мерцать приложение при перестроении данные. И это все должно выполняться в блоке try-finally.