Oha, Du solltest Dir wirklich erst die Tutorials in Ruhe ansehen. Du gehst mit Append in den Einfügemodus und anschließend mit Edit gleich wieder in den Editiermodus.
Delphi-Quellcode:
clientdataset1.append; //in den Einfügemodus wechseln
// diese Zeile ist zuviel dbgrid1.DataSource.DataSet.Edit; //in den Editiermodus wechseln
clientdataset1.fields[1].AsString:='hallo3'; //Daten eintragen
clientdataset1.Post; //Änderungen speichern
Ich weiß ja nicht, welche Delphi-Version Du hast, daher mal ein paar Zitate aus der Delphi 7-Hilfe:
Zitat:
Die Methode Append fügt einen neuen, leeren Datensatz am Ende der Datenmenge hinzu.
Delphi-Syntax:
procedure Append;
C++ Syntax:
void __fastcall Append(void);
Beschreibung
Bei Datenmengen, die eine Bearbeitung erlauben, können Sie mit Append folgende Aktionen durchführen:
1 Einen neuen leeren Datensatz am Ende der Datenmenge öffnen.
2 Der neue wird zum aktiven Datensatz gemacht.
Nach dem Aufruf von Append kann die Anwendung den Benutzern die Eingabe von Daten in die Felder des neuen Datensatzes ermöglichen. Anschließend können die Änderungen mit Post in in die Datenbank oder das Änderungsprotokoll eingetragen werden (Client-Datenmengen können die im Protokoll enthaltenen Änderungen durch einen Aufruf von ApplyUpdates in die Datenbank schreiben). Ein neu hinzugefügter Datensatz wird auf eine von drei Arten in die Datenbank eingetragen:
Bei indizierten
Paradox- und dBASE-Tabellen wird der Datensatz anhand seiner Indexposition in die Datenmenge eingefügt.
Bei nicht indizierten
Paradox- und dBASE-Tabellen wird der Datensatz am Ende der Datenmenge hinzugefügt.
Bei
SQL-Datenbanken ist die physikalische Position des Datensatzes von der jeweiligen Implementierung abhängig. Ist die Tabelle indiziert, wird der Index mit den neuen Datensatzinformationen aktualisiert.
Das Beispiel dazu:
Zitat:
In diesem Beispiel wird ein neuer Datensatz an eine Tabelle oder Client-Datenmenge angehängt, wenn der Benutzer auf eine Schaltfläche klickt. Die beiden Felder ALPHANUMERIC und INTEGER werden mit dem Inhalt zweier Eingabefelder gefüllt.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
SampleTable.Append;
SampleTable.FieldValues['ALPHANUMERIC'] := Edit1.text;
SampleTable.FieldValues['INTEGER'] := StrToInt(Edit2.text);
SampleTable.Post;
end;
Und zu AppendRecord:
Zitat:
Die Methode AppendRecord fügt einen neuen Datensatz mit Daten am Ende der Datenmenge hinzu und trägt ihn ein.
Delphi-Syntax:
procedure AppendRecord(const Values: array of const);
C++ Syntax:
void __fastcall AppendRecord(const System::TVarRec * Values, const int Values_Size);
Beschreibung
Mit AppendRecord können Sie einen neuen, leeren Datensatz am Ende der Datenmenge erstellen, ihn mit den in Values übergebenen Feldwerten füllen und in die Datenbank oder das Änderungsprotokoll eintragen. Der Parameter Values ist in C++ ein Array von Feldwerten. Der Parameter Values_Size ist der Index des letzten Wertes (um eins kleiner als die Gesamtzahl der Werte).
Ein neu hinzugefügter Datensatz wird auf eine von drei Arten in die Datenbank eingetragen:
Bei indizierten
Paradox- und dBASE-Tabellen wird der Datensatz anhand seiner Indexposition in die Datenmenge eingefügt.
Bei nicht indizierten
Paradox- und dBASE-Tabellen wird der Datensatz am Ende der Datenmenge hinzugefügt.
Bei
SQL-Datenbanken ist die physikalische Position des Datensatzes von der jeweiligen Implementierung abhängig. Ist die Tabelle indiziert, wird der Index mit den neuen Datensatzinformationen aktualisiert.
Der neue Datensatz wird anschließend zum aktiven Datensatz.
Wieder das Beispiel dazu:
Zitat:
Diese Anweisung fügt einen Datensatz an die Daten von Customer an. Für einige der Werte werden Nullen eingegeben. Dies ist jedoch für fehlende Werte am Ende des Arrayarguments (nach dem Feld Discount) nicht erforderlich.
Customer.AppendRecord([CustNoEdit.Text,CoNameEdit.Text, AddrEdit.Text, Null, Null, Null, Null, Null, Null, DiscountEdit.Text]);