![]() |
AW: Datensätze speichern in einer Datenbank
Naja,
Zitat:
|
AW: Datensätze speichern in einer Datenbank
und wie löse ich nu das problem? :?
ich bin totaler änfanger .. |
AW: Datensätze speichern in einer Datenbank
Schau Dir doch noch einmal das Einstiegstutorial vom Delphi-Treff an. Den Teil mit der Datenbankoberfläche kannst Du ja getrost überspringen und gleich bei TTable weitermachen. Das Prinzip ist ja bei so gut wie allen (SQL-)Datenbanken dasselbe.
|
AW: Datensätze speichern in einer Datenbank
okay danke, dann schau ich mir das mal an :)
|
AW: Datensätze speichern in einer Datenbank
okay hab mir das mal angeschaut, aber mir wirklcih weiterhelfen tut es nicht.
Also unter Neu trägt mein ein neuen Datensatz ein und dieser soll, wenn auf Ok geklickt wird in dem grind eingefügt werden. Doch gibt er mir immer eine fehlermeldung aus, weil (glaub ich) anscheinend in adresse. ... nichts drinsteht, obwohl im nebenformular, der text der editfelder in diese variablen gespeichert wird.
Delphi-Quellcode:
ich hoffe jemand kann mir das anhand des quelltextes erklären :|
procedure TFormMain.Neu1Click(Sender: TObject); // Beim Klicken auf Neu ober in der Leiste
var FormAdresse : TFormAdresse ; kontaktdaten : tKontaktdaten; begin formAdresse := TFormAdresse.Create( Self ); // Es wird wieder das Formular Adresse erstellt formAdresse.Adresse := tAdresse.Create ; ; if formadresse.ShowModal = mrOK then // Wenn OK geklickt wurde, dann .. begin ShowMessage ( 'Die Werte wurden gespeichert' ); // Wird dieser Text ausgegeben und .. //Adressen.Add( FormAdresse.Adresse ) ; // Die eingetragenden Daten werden in der TList Adressen abgespeichert tbAdressen.Insert; tbAdressenCreate; tbAdressen.Post; end else // Ansonsten.. ShowMessage ( 'Die Aktion wurde abgebrochen' ) ; // wird diese Meldung ausgegeben // RefreshList ; // AdresseListBox wird aktualisiert und somit wird der neue Datensatz eingetragen formadresse.Release ; // Gibt den Speicher im Formular Adresse wieder frei end; procedure TFormMain.tbAdressenCreate; begin tbAdressen.FieldByName('ID').AsInteger := adresse.ID; tbAdressen.FieldByName('Anrede').AsString := adresse.Anrede; tbAdressen.FieldByName('Nachname').AsString := adresse.Nachname; tbAdressen.FieldByName('Vorname').AsString := adresse.Vorname; tbAdressen.FieldByName('Strasse').AsString := adresse.Strasse; tbAdressen.FieldByName('PLZ').AsInteger := adresse.PLZ; tbAdressen.FieldByName('Ort').AsString := adresse.Ort; end; danke schonmal |
AW: Datensätze speichern in einer Datenbank
Hab ich doch schon. Wenn Du Deinen eigenen Quelltext nicht mehr verstehst, wie sollen wir dann helfen? Du könntest aber ganz auf die Klasse TAdresse verzichten und das Speichern gleich im Unterformular erledigen.
|
AW: Datensätze speichern in einer Datenbank
ja ich habe wirklich total den überblick verloren :(
bin vor 2 wochen damit angefangen und in der zeit wurde mir soviel gezeigt und umgeändert, das ich mittlerweile kaum mehr was verstehe .. :| |
AW: Datensätze speichern in einer Datenbank
Du sprichst FormMain.Adressen in tbAdressenCreate an meinst aber eigentlich formAdresse.Adresse.
Ich würde das ganze sauber neu aufsetzen.... |
AW: Datensätze speichern in einer Datenbank
Dann erstell Dir zum Üben doch einfach ein neues Projekt. In dem nimmst Du ein Datenmodul ('Datei - Neu - Datenmodul') und packst da alle nicht-visuellen DB-Komponenten drauf (Table, Datasource, Query, etc.). Wenn Du die Unit dieses Datenmoduls in die uses-Klausel Deiner Formular-Units aufnimmst kannst Du die Datasource-Zuweisung für Grids usw. direkt im Objektinspektor vornehmen. So, die Formulare greifen dann alle auf die Datasets auf dem Datenmodul zu und zeigen die Daten an bzw. modifizieren sie. Wenn man dann auch noch datensensitive Controls verwendet (DBEdit z.B.) kann man voll funktionsfähige Programme zusammenklicken, ohne auch nur eine Zeile Quellcode schreiben zu müssen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 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-2025 by Thomas Breitkreuz