Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datensatz einer DBase oder Pradox Tabelle in ein Dataset (https://www.delphipraxis.net/24961-datensatz-einer-dbase-oder-pradox-tabelle-ein-dataset.html)

ak1 29. Jun 2004 08:33


Datensatz einer DBase oder Pradox Tabelle in ein Dataset
 
Hallo Leute,

wie kann ich den 10. Datensatz oder den Datensatz auf dem sich gerade der Zeiger befindet in einem Dataset speichern?
Ich möchte diesen Datensatz ohne SQL-Abfrage speichern. Da es sich ja um eine Datensatzorientierte Tabelle (DBase) handelt könnte das doch möglich sein, nur wie?

shmia 29. Jun 2004 10:12

Re: Datensatz einer DBase oder Pradox Tabelle in ein Dataset
 
Zitat:

Zitat von ak1
wie kann ich den 10. Datensatz oder den Datensatz auf dem sich gerade der Zeiger befindet in einem Dataset speichern?

Du hast immer nur Zugriff auf den aktuellen Datensatz. Wenn du also den 10. Datensatz möchtest:
Delphi-Quellcode:
Table1.First;
Table1.MoveBy(9); // jetzt stehen wir auf dem 10. Datensatz
Zitat:

Zitat von ak1
Ich möchte diesen Datensatz ohne SQL-Abfrage speichern. Da es sich ja um eine Datensatzorientierte Tabelle (DBase) handelt könnte das doch möglich sein, nur wie?

Wohin speichern ? In eine andere Tabelle oder in eine Datei ?
Oder möchtest du bestehende Datensätze verändern und dann zurückspeichern ?
Dazu ein Beispiel:
Delphi-Quellcode:
// Daten verändern
Table1.Edit;  // Edit-Mode, sonst darf nicht verändert werden
// erhöhe Inhalt im Feld "Anzahl" um 1
Table1.FieldByName('Anzahl').AsInteger := Table1.FieldByName('Anzahl').AsInteger + 1;
// schreibe Änderungsdatum
Table1['LastChange'] := Now;
Table1.Post; // Zurückschreiben

ak1 29. Jun 2004 10:29

Re: Datensatz einer DBase oder Pradox Tabelle in ein Dataset
 
Hallo,
ich habe eine Tabelle und bearbeite einen Datensatz, dann will ich den bearbeiteten Datensatz in einem Dataset speichern.
Anschließend gehe ich zum nächsten Datensatz der Tabelle und bearbeite die Werte, dafür brauche ich aber die Werte des vorherigen Datensatzes, also die Werte, welche ich im Dataset gespeichert habe.
Ich möchte nicht in der Tabelle hin und herspringen, deswegen will ich einen Datensatz in einem Dataset zwischenspeichern.

shmia 29. Jun 2004 10:42

Re: Datensatz einer DBase oder Pradox Tabelle in ein Dataset
 
Zitat:

Zitat von ak1
ich habe eine Tabelle und bearbeite einen Datensatz, dann will ich den bearbeiteten Datensatz in einem Dataset speichern.
Anschließend gehe ich zum nächsten Datensatz der Tabelle und bearbeite die Werte, dafür brauche ich aber die Werte des vorherigen Datensatzes, also die Werte, welche ich im Dataset gespeichert habe.
Ich möchte nicht in der Tabelle hin und herspringen, deswegen will ich einen Datensatz in einem Dataset zwischenspeichern.

Dann brauchst du eine Memory-Table Komponente.
Diese Komponenten sind von TDataset abgeleitet und verhalten sich wie "normale" TTable-Komponenten. Allerdings werden die Daten im Hauptspeicher gelagert; alle Operationen sind daher sehr schnell.
Memory-Tables können die Feldstruktur (in FieldDefs) von existierenden Tabellen kopieren.

siehe: Torry's [Memory Tables]
Empfehlenswert ist: TkbmMem Table
Auch die RX-Lib oder die JVCL enthalten Memory-Tables.

ak1 29. Jun 2004 10:56

Re: Datensatz einer DBase oder Pradox Tabelle in ein Dataset
 
Danke für die Antwort, werde mir das mal anschauen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr.

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