Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Динамическое создание и удаление полей


Автор: User 25.1.2005, 09:39
Нашел в DRKB динамическое создание полей. И возник вопрос. А проделать тоже самое (создать поле) через запросы SQL ведь тоже можно. Кроме того я так понимаю и удалять поля тоже можно. И менять наименование поля через SQL наверное тоже возможно. Если кто знает как это сделать подскажите. Заранее буду признателен. База мной написана под Paradox. Применяю Query1 для отображения данных по запросу
SELECT *
FROM BOB1
WHERE ID =:ID

А это сам пример из DRKB:
var
I: Integer;
Field: TField;
begin
{ Поля можно добавлять только к неактивному набору данных. }
Table1.Active := False;

{ Распределяем определенные поля если набор данных еще не был активным. }
Table1.FieldDefs.Update;

{ Создаем все поля из определений и добавляем к набору данных. }
for I := 0 to Table1.FieldDefs.Count - 1 do
begin
{ Вот где мы действительно сообщаем набору данных о необходимости создания поля. }
{ Поле "назначается", но нам нужно не это, нам нужна просто ссылка на новое поле. }
Field := Table1.FieldDefs[I].CreateField(Table1);
end;

{ Вот пример того, как вы можете добавить дополнительные, вычисленные поля }
Field := TStringField.Create(Table1);
Field.FieldName := 'Total';
Field.Calculated := True;
Field.DataSet := Table1;

{ Теперь мы можем увидеть наши поля. }
Table1.Active := True;
end;


Повторюсь, буду признателен если подскажите запросы для вышеперечисленных задач. Очень надо!! Просто горю!! smile smile


Автор: User 26.1.2005, 16:04
Все господа програмисты пожар потух так и неразгоревшись.....

Автор: Bes 26.1.2005, 16:54
Это ты про что? Что никто не ответил или уже все выяснил. Посмотри тему рядом, я там кое что написал.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)