![]() |
Datenbank: MyBase • Version: - • Zugriff über: -
MyBase-Frage
Guten Tag, ich übe mich grade in die Datenbankprogrammierung mit MyBase ein.
Über folgenden Code speichere ich den Inhalt eines DBGrids:
Delphi-Quellcode:
Nun meine Frage:
ClientDataSet1.SaveToFile(
ExtractFilePath(Application.ExeName)+'\myBaseDB.xml', dfXML); Wie kann ich den Inhalt eines normalen "Edits" speichern? bzw. Wieso kann ich den Inhalt eines DBEdits zur Laufzeit nicht ändern sondern nur zuweisen? Weil sonst wüsste ich ja, wie ich den Inhalt, in dem Falle aus dem DBEdit, speichern würde. |
Re: MyBase-Frage
TDBGrid und TDBEdit sind datensensitive Steuerelemente (data sensitive controls).
Controls sind dazu da, um Daten an der Benutzeroberfläche anzuzeigen und ggf. zu editieren. Die eigentlichen Daten werden aus dem Programm heraus aber nicht über die Controls gelesen/geschrieben, sondern der Ansatzpunkt ist TDataSet sowie die Datenfelder (abgeleitet von TField)
Delphi-Quellcode:
// Beispiel
ClientDataSet1.Edit; // Datenmenge in Edit-Modus // Feldinhalt ändern: Variante 1 ClientDataSet1.FieldByName('Anzahl').AsInteger := ClientDataSet1.FieldByName('Anzahl').AsInteger + 1; // Feldinhalt ändern: Variante 2 ClientDataSet1['LastChange'] := Now; // Feldinhalt ändern: Variante 3 // diese Variante ist eher unüblich, weil man Felder ja über den Namen ansprechen sollte ClientDataSet1.Fields[5] := EditKundenNr.Text; // das 6. Feld ändern ClientDataSet1.Post; // geänd. Daten speichern |
Re: MyBase-Frage
Hallo,
ich hab mir auch eine Datenbank mit MyBase angelegt. Funktioniert bis jetzt einwandfrei Nur ich blicke nicht durch, ich bekomme immer nur eine Zeile hin :shock: Ich weiß nicht wie er in die nächste Zeile springt :shock: |
Re: MyBase-Frage
Hallo Thomm,
wenn Du auf Dein Form noch einen DBNavigator setzt und DataSource im OI setzt, dann kann man neue Datensätze anlegen. Bis bald Chemiker |
Re: MyBase-Frage
Nein, das sollte auch ohne DBNavigator gehen
Ich trage über eine Eingabe-Maske Daten in die DBGrid ein, sobald ich den OK-Button der Eingabe-Maske gedrückt habe, sollte er in die nächste leere Zeile springen Ich weiß allerdings nicht, wie das geht :shock: |
Re: MyBase-Frage
siehe #2 + ClientDataSet1.Insert;
|
Re: MyBase-Frage
Hallo Thomm
oder mit Append einen neuen Datensatz einfügen. Bis bald Chemiker |
Re: MyBase-Frage
Append nimmt er nicht
Fehlermeldung ClientDataSet1.FieldByName('Abfahrtsort').Append falsch ClientDataSet1.Insert ist nicht schlecht nur ,dass er die neue Zeile nach oben gesetzt hat , anstatt nach unten :shock: :shock: |
Re: MyBase-Frage
Jetzt hab ichs
ClientDataSet1.append :-D |
Re: MyBase-Frage
Hallo Thomm
Delphi-Quellcode:
Bis bald Chemiker
ClientDataSet1.Append;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz