Einzelnen Beitrag anzeigen

Benutzerbild von Cosamia
Cosamia

Registriert seit: 27. Feb 2007
Ort: Emmendingen
221 Beiträge
 
Delphi 2007 Professional
 
#1

Aktualisierung eines DBGRID

  Alt 6. Feb 2008, 09:55
Datenbank: Access • Zugriff über: ADO
Hallo zusammen,

ich habe jetzt wieder ein neues Thema welches mich beschäftig.
Ich füge einen neuen Datensatz per Adotable in eine Accessdatenbank ein.
Darauf folgt dann eine Aktualisierung des DBGRID.

Beim ersten mal einfügen wird das Grid aber nicht aktualsiert. Erst wenn ich einen weiteren Datensatz hinzufüge erscheinen beider neuen Datesätze in dem DBGrid.

Was mache ich falsch?

Delphi-Quellcode:
procedure TMain.AddBtnClick(Sender: TObject);
begin
Adotable1.Active := false;
Adotable1.tablename := 'anpassd';
Adotable1.Active := true;
if fitteredit.Text <> 'then
begin
adotable1.Edit;
AdoTable1.Append;
adotable1.FieldByName('Anpasser').AsString := fitteredit.Text;
adotable1.post;
end;
//delay(1000);
gridrefresh('anpassd','Anpasser');
end;

procedure TMain.Gridrefresh(Tabelle,fieldn:string);
begin
jvdbgrid2.Update;
adoquery1.active:=false;
adoquery1.sql.Clear;
adoquery1.sql.text := 'SELECT * FROM '+ Tabelle;
adoquery1.active:=true;
adoquery1.ExecSQL;
adoquery1.Requery();
jvdbgrid2.Columns[0].FieldName := fieldn;
jvdbgrid2.Columns[0].Width := 177;
end;
Das oben eingebaute Delay führt zwar zum gewünschten Effekt, ist aber nicht sonderlich schön.
Zudem muss ja irgendwo in meinem Code ein Fehler sein.
  Mit Zitat antworten Zitat