Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Inhalt von Editfeldern zu Accessdatenbank(Tabelle) übergebe (https://www.delphipraxis.net/125714-inhalt-von-editfeldern-zu-accessdatenbank-tabelle-uebergebe.html)

alnourx 10. Dez 2008 11:44

Datenbank: accessdatenbank • Zugriff über: weiss nicht nicht

Inhalt von Editfeldern zu Accessdatenbank(Tabelle) übergebe
 
Hallo,
Ich hätte bitte eine Anfängerfrage.
Ich habe ein kleines Rechenprogramm (Delphi5)geschrieben mit 7 Editfeldern, als nächstes will ich in Accessdatenbank eine Tabelle erstellen, und wollte versuchen, den Inhalt von den Editfeldern zu der Datenbank zu übergeben. Könntet ihr mir bitte helfen , Vorschläge oder Beispielcode zu geben , wie ich das mache.
Danke.

mkinzler 10. Dez 2008 11:51

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
Z.B. durch Umstellung TEdit -> TDBEdit

alnourx 10. Dez 2008 12:02

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
Danke für die schnelle Antwort.
Meinst du damit, dass ich alle im Programm geschriebenen TEdit zu TDBEdit umstelle!!
Muss ich auch einen Button hinzufügen, damit der Inhalt von Editfeldern zu der Accessdatenbank (Tabelle) übertragen wird. welche Befehle soll ich dafür einsetzen??
Zitat:

Zitat von mkinzler
Z.B. durch Umstellung TEdit -> TDBEdit


mkinzler 10. Dez 2008 13:48

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
TEdits sind mit einer Datenmenge verknüpft, und zeigen den Inhalt eines Feldes in ihr an.

http://www.delphi-treff.de/tutorials/datenbanken/

alnourx 10. Dez 2008 15:06

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
Ich habe den Link gelesen. wie ich eine Verbindung zur Accessdatenbank (Tabelle) erstelle ist mir klar, aber wie kann ich den Inhalt der Felder zur tabelle übergeben?? gibt es bestimmte Befehle dafür?

mkinzler 10. Dez 2008 15:36

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
-<DS>.Insert/DS.Append; <DS>.Post;
-SQL

alnourx 10. Dez 2008 16:07

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
aber ich bin nur ein Delphianfänger, ich kenne mich nicht gut mit SQL :(
gibt es keinen anderen lösungsweg?

mkinzler 10. Dez 2008 16:30

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
Dann bleibt ja noch die 1. Möglichkeit

alnourx 10. Dez 2008 16:58

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
kannst du bitte die erste möglichkeit mit sätzen erklären , ich verstehe nicht was du damit gemeint hast.

mkinzler 10. Dez 2008 17:02

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
Wie man in Delphi mit datensensitiven Komponenten arbeitet erfährst du in den Tutorials, welche ch oben verlinkt habe.
Die DB-Kompos sind hierbei mit einer Datenmenge verknüpft und zeigen den/die entsprechenden Werte des aktiven Record des DataSets bzw. mehrere/alle Datensätze (z.B. DBGrid) an und Änderungen werden bei entsprechender Konfiguration in das DaatSet übernommen

alnourx 11. Dez 2008 14:53

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
Ich habe versucht die Daten zur Accessdatenbanktabelle zu übergeben aber ich habe leider folgendes Problem:

Ich habe den Code so geschrieben:
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
begin
      ars.SQL.Clear ;
     
      ars.SQL.Add('Insert into table1 (Breite) Values ('+QuotedStr(edit1.Text)+')');
       ars.SQL.Add('Insert into table1 (Länge) Values ('+QuotedStr(edit2.Text)+')');
      ars.SQL.Add('Insert into table1 ( Gewicht) Values ('+QuotedStr(edit3.Text)+')');
       ars.SQL.Add('Insert into table1 (Höhe) Values ('+QuotedStr(edit4.Text)+')');
      ars.SQL.Add('Insert into table1 (Menge) Values ('+QuotedStr(edit5.Text)+')');
      ars.SQL.Add('Insert into table1 (Ergebnis1) Values ('+QuotedStr(edit6.Text)+')');
      ars.SQL.Add('Insert into table1 (Ergebnis2) Values ('+QuotedStr(edit7.Text)+')');
     
      ars.ExecSQL;
      ars.Close;
end;
Wenn ich den Inhalt der Editfeldern zur Tabelle übergeben wollte, dann zeigt mit das Programm folgenden Fehler „ Fehlendes Semikolon (;) am Ende der SQL-Anweisung.
Ich verstehe das nicht, ich habe schon ein Semikolon am Ende der Anweisung, aber er zeigt den Warnfehler trotzdem.
Ich bitte euch um Vorschläge :-(

mkinzler 11. Dez 2008 15:00

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
Warum nicht in einem Insert und/oder mit Parametern?
Delphi-Quellcode:
ars.SQL.Text := 'Insert into table1 (Breite, Längem ... ) Values (:laenge, ...);';
...
ars.Parameters.ParamByName('Breite').Value;
...
ars.ExecSQL;

alnourx 11. Dez 2008 15:58

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
Ich habe den Code so geschrieben, wie du mir vorgeschlagen hast, ich habe eigentlich keinen Warnfehler mehr , aber der Inhalt der Editfeldern wurden nicht zu Accessdatenbanktabelle übergeben :?

Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
begin

ars.SQL.Text := 'Insert into table1 (Breite, Länge, Gewicht, Höhe, Menge, Ergebnis1, Ergebnis2 ) Values (:Breite, :Länge, :Gewicht, :Höhe, :Menge, :Ergebnis1, :Ergebnis2);';
ars.Parameters.ParamByName('Breite').Value;
ars.Parameters.ParamByName('Länge').Value;
ars.Parameters.ParamByName('Gewicht').Value;
ars.Parameters.ParamByName('Höhe').Value;
ars.Parameters.ParamByName('Menge').Value;
ars.Parameters.ParamByName('Ergebnis1').Value;
ars.Parameters.ParamByName('Ergebnis2').Value;

ars.ExecSQL;
sorry, dass ich dich gestört habe.

DeddyH 11. Dez 2008 16:10

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
begin
  ars.SQL.Text := 'Insert into table1 (Breite, Länge, Gewicht, Höhe, Menge, Ergebnis1, Ergebnis2 ) Values (:Breite, :Länge, :Gewicht, :Höhe, :Menge, :Ergebnis1, :Ergebnis2);';
  ars.Parameters.ParamByName('Breite').Value := EditBreite.Text;
  ars.Parameters.ParamByName('Länge').Value := EditLaenge.Text;

  //... usw.
  ars.ExecSQL;

mkinzler 11. Dez 2008 16:12

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
Da hab ich was vergessen:
Delphi-Quellcode:
ars.Parameters.ParamByName('Breite').Value := edit1.Text;
usw.

alnourx 12. Dez 2008 08:21

Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
 
Ich will mich bedanken für euere Hilfe :-D
das Programm funktioniert jetzt wie ich möchte.
Ich habe vor zwei Monaten mit Delphi angefangen zu lernen, und finde diese Sprache sehr schön, der Anfang ist immer schwer, aber man muss geduld haben :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 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