Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Variabler Wert in TTable einfügen (https://www.delphipraxis.net/1243-variabler-wert-ttable-einfuegen.html)

foxy 5. Nov 2002 08:38


Variabler Wert in TTable einfügen
 
Hallo Leute
ich hab folgendes Problem ich bekomm eine Varieble die sich in einer Schleife befindet, die sich aber bei jedem Durchlauf ändert... jetzt will ich diesen Wert einlagern in die datenbank ... damit will ich bezwecken
1. Das für jeden Wert in der DBGrid eine neu Spalte erscheint.
2. Das ich den DBChart benutze und dieser nur auf die DB zugreift und mit dieser den Graphen zeichnet.

Ich weis also 1. weil ich 0 Erfahrung mit DB hab wo ich die Variable muss reinmachen also in die datasource als Defs ich hab keine Ahnung

Bitte bitte um HILFE

Danke im Vorraus

MrSpock 5. Nov 2002 09:00

Hallo foxy,

also zunächst einmal solltest du eine Tabelle erstellen. Am einfachsten geht das über die Datenbankoberfläche.

Dort wählst du Datei|Neu|Tabelle... . Tabellentyp Paradox 7 ist OK. In dem sich dann öffneneden Feldeditor kannst du jetzt die Felder anlegen:

Zum Beispiel:

1. Feldname: ID
Typ: Zähler (+ Taste)
Schlüssel: * (Leertaste)

2. Feldname: Wert
Typ: Integer

Dann Speichern unter ... und einen Namen vergeben.

Wenn du soweit bist, sach mal Bescheid :mrgreen: .

foxy 5. Nov 2002 10:02

OK das hatte ich scho =) also ich hab ne TTable erstellt ne paradox datenbank und habe ne datenbank initiert
Code:
result :=false;
  CreateDirectory(PChar(db),nil);
  T:=TTable.Create(self);
  T.DatabaseName := Autoklav;
  T.TableName   := 'Datenbank.db';
  T.TableType   := ttParadox;
  with T.FieldDefs do
so hab ich angefangen

MrSpock 5. Nov 2002 10:40

Hallo foxy,

oooops, da warst du ja schon weiter, als ich angenommen habe.

Du hast dich also enbtschlossen die Tabelle dynamisch zuerstellen, das ist auch OK, insbesondere für temporäre Tabellen. Dauerhafte Tabellen könntest du einfach mit der Datenbankoberfläche erstellen und dann (leer) mit ausliefern.

Jetzt zu deiner Frage: Ich bin mir nicht klar, ob ich dich korrekt verstanden habe. Du sagst, du willst neue Spalten erzeugen. Spalten representieren in dem üblichen Sprachgebrauch relationaler Datenbanken die Felder von Tabellen, Zeilen dagegen Datensätze.

Willst du Datensätze einfügen, geht das mit:

Code:
try
  T.Append;
  T.FieldByName('Wert').Value := derWert;
  T.FieldByName('..').Value := ...
  ...
  T.Post;
except
  on exception do
  begin
     { Fehlermeldung ausgeben }
     ...
     T.Cancel;
  end
end;
Wenn du die Tabelle mit der DB Oberfläche erstellst, kannst du über einen Doppelklick auf das TTable Objekt die Felder in das Programm einfügen und dann anstatt über FieldByName über z.B. TWert.AsValue := ... die Zuweisungen ausführen.

Willst du tatsächlich Spalten hinzufügen, geht das natürlich am Anfang über FieldDefs und später über SQL durch:

Code:
ALTER TABLE T ADD NeuSpalte INTEGER

foxy 5. Nov 2002 11:34

Erst mal Mega THx ich verarbeite das erst mal die Info unn dann versuch ich das Ganze mal ... :lol:
das ist gaa nich so leicht zu beschreiben ... wenn man noch nich so viel plan von Delphi hat ... :angle2:


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