Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Datensätze speichern in einer Datenbank (https://www.delphipraxis.net/160194-datensaetze-speichern-einer-datenbank.html)

DeddyH 2. Mai 2011 13:22

AW: Datensätze speichern in einer Datenbank
 
Naja,
Zitat:

Delphi-Quellcode:
formAdresse.Adresse := tAdresse.Create;

hier erzeugst Du eine neue Instanz Deiner Adresse in einer Property des Unterformulars und greifst anschließend auf das Feld oder die globale Variable Adresse im Hauptformular zu. Das ist ja nicht dasselbe, solange Du es nicht explizit zuweist.

Kleine 2. Mai 2011 13:29

AW: Datensätze speichern in einer Datenbank
 
und wie löse ich nu das problem? :?
ich bin totaler änfanger ..

DeddyH 2. Mai 2011 13:34

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.

Kleine 2. Mai 2011 13:39

AW: Datensätze speichern in einer Datenbank
 
okay danke, dann schau ich mir das mal an :)

Kleine 2. Mai 2011 13:55

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:
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;
ich hoffe jemand kann mir das anhand des quelltextes erklären :|

danke schonmal

DeddyH 2. Mai 2011 14:03

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.

Kleine 2. Mai 2011 14:06

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 .. :|

Bummi 2. Mai 2011 14:11

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....

DeddyH 2. Mai 2011 14:17

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 05:52 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz