Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Как в реальном времени добавить поля в таблицу?   Найти похожие ветки 

 
ZHK   (2004-08-02 16:39) [0]

Здравствуйте, господа. Чет я совсем плохой стал, видимо. Есть два DBGrid В каждом - открытая таблица. В первом я ввожу сисок полей второго. Естественно, что при добавлении записи в первый, она сразу же должна отображаться как поле во втором. Навертел чет несуразное, вот такое:

procedure TForm2.Table1BeforeInsert(DataSet: TDataSet);
var
 I,J:Integer;
 P:Pointer;
begin
 if NGoing then Exit;
 Table1.DisableControls;
 NGoing:=True;
 try
 P:=Table1.GetBookmark;
 Table1.First;
 Table2.Edit;
 I:=1;
 while not Table1.Eof do
   begin
     if Table1.FieldByName("Size").AsInteger>0 then
        begin
          if Table2.FieldCount<=I then
             Table2.FieldDefs.Add(Table1.FieldByName("Name").AsString,ftString,Table1.FieldByName("Size").AsInteger)
          else
            begin
              Table2.Fields[I].FieldName:=Table1.FieldByName("Name").AsString;
              Table2.Fields[I].Size:=Table1.FieldByName("Size").AsInteger;
            end;
          I:=I+1;
        end;
     Table1.Next;
   end;
 Table2.UpdateRecord;
 while Table2.FieldCount>I do
   Table2.FieldDefs.Delete(Table2.FieldCount-1);
 Table1.GotoBookmark(P);
 finally
 Table1.EnableControls;
 NGoing:=False;
 end;
end;

Естественно, что ничего не добавляется. Добейте утопающего. :-)


 
ZHK   (2004-08-02 16:41) [1]

Ну, правда с Table2.UpdateRecord; Я загнул наверное. Я ж записей-то не добавляю... В общем выкинул я ее, тем более, что ошибку выдает. :-)


 
Соловьев ©   (2004-08-02 17:17) [2]


> Есть два DBGrid В каждом - открытая таблица. В первом я
> ввожу сисок полей второго. Естественно, что при добавлении
> записи в первый, она сразу же должна отображаться как поле
> во втором. Навертел чет несуразное, вот такое:

навртел не то слово... Зачем тебе БДГрид для отображения полей? И как это при добавлении записи, она(!!!) должна быть полем во втором гриде? Или это ты переворачиваешь данные?
http://www.delphikingdom.com/treasury/nxdbgrid.htm



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
1-1092221159
Руслан
2004-08-11 14:45
2004.08.29
Надо проигрывать WAV файлы из плей листа. Не могу додуматься


6-1088268953
Skyhawk
2004-06-26 20:55
2004.08.29
Share admin


14-1092318174
olookin
2004-08-12 17:42
2004.08.29
Новый альбом Rammstein...


8-1086294454
Дмитрий
2004-06-04 00:27
2004.08.29
Записывающие устройства


3-1091605582
KAA
2004-08-04 11:46
2004.08.29
MSSQL 2000 Не могу добавить поле в таблицу из-за репликации