Einzelnen Beitrag anzeigen

Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#1

DBGrid alle Werte einer Spalte ändern

  Alt 11. Mär 2007, 12:56
Datenbank: ADO • Zugriff über: ADO
Hallo,

also ich benutze ein DBGrid, um Daten aus einer Datasource, Table und Query Komponente anzuzeigen und zu bearbeiten.
Nun soll in einer Spalte der Wert zum vorigen immer um eins erhöht werden, dass hab ich so gelöst:
Delphi-Quellcode:

function NewID(Tablename, ID_FIELD : string) : integer;
begin
  try
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('SELECT MAX('+ID_FIELD+')');
    Query1.SQL.Add('FROM '+char(39)+Tablename+char(39));
    Query1.Open;
    result:= Query1.Fields[0].AsInteger+1;
  except
    on EXCEPTION do result:= 0;
  end;
end;

procedure TabelleAfterInsert(DataSet: TDataSet);
var
  i : integer;
begin
  TabelleID.AsInteger := NewID('datenbank.db','ID'); //+1
Nun wollt ich aber in einer weiteren Spalte die gesamtzahl der Einträge anzeigen lassen. und dazu müsst ich ja alle Einträge ändern, wie mach ich das?

Delphi-Quellcode:
    Query1.DataSet.First;
    while not Query1.DataSet.EOF do
      begin
        Tabelle.Database.DataSets[0].FieldValues[ID_FIELD]:= newValue;
        DSQuery.DataSet.Next;
      end;
...das geht hier leider so nicht.

Danke Tim
  Mit Zitat antworten Zitat