![]() |
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. |
Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
Z.B. durch Umstellung TEdit -> TDBEdit
|
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:
|
Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
TEdits sind mit einer Datenmenge verknüpft, und zeigen den Inhalt eines Feldes in ihr an.
![]() |
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?
|
Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
-<DS>.Insert/DS.Append; <DS>.Post;
-SQL |
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? |
Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
Dann bleibt ja noch die 1. Möglichkeit
|
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.
|
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 |
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:
Wenn ich den Inhalt der Editfeldern zur Tabelle übergeben wollte, dann zeigt mit das Programm folgenden Fehler „ Fehlendes Semikolon (;) am Ende der SQL-Anweisung.
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; 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 :-( |
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; |
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:
sorry, dass ich dich gestört habe.
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; |
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; |
Re: Inhalt von Editfeldern zu Accessdatenbank(Tabelle) überg
Da hab ich was vergessen:
Delphi-Quellcode:
usw.
ars.Parameters.ParamByName('Breite').Value := edit1.Text;
|
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 22:50 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