Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Doppelte Zeilen in Datenbank löschen! (https://www.delphipraxis.net/62642-doppelte-zeilen-datenbank-loeschen.html)

Mitchl55 7. Feb 2006 15:22

Datenbank: Paradox • Version: 7 • Zugriff über: BDE

Doppelte Zeilen in Datenbank löschen!
 
Hallo,

1.) gibt es eine Möglichkeit, doppelte Datensätze in einer Tabelle zu löschen ohne aufwendiges Filtern oder suchen?

oder wenn Nein... dann...

2.) Kann ich eine Tabelle nach einer ganzen Tabellenzeile auf einmal Filtern, ohne nach ganzen "Field Names" und Values/Feldinhalt
den ganzen Tabellenfilterstring so:
Delphi-Quellcode:
Table1.Filter := ( 'id =' + 'was')
zusammenzubauen???

Danke & Gruß

Mitchl

gmc616 7. Feb 2006 15:54

Re: Doppelte Zeilen in Datenbank löschen!
 
Hi,

normalerweise sollten in Tabellen keine doppelt verhandenen Datensätzen auftauchen. Dies verhindert i.a.R. der PrimaryKey.
Da du aber keinen zu haben scheinst, wirst du wohl ums filtern nicht herum kommen.
COUNT(*) und GROUP BY wären hier meine Stichwörter.

Ich weiß nicht wie Paradox das handhabt aber in relationale Datenbanken gibt es die Möglichkeit über den ROWID zu löschen.
Der ROWID ist ein Feld in der Tabelle, welches das DBS automatisch mitführt. Dieses ist immer eindeutig.

Gruß
gmc

marabu 7. Feb 2006 16:24

Re: Doppelte Zeilen in Datenbank löschen!
 
Wenn es nur um das einmalige Bereinigen einer Tabelle geht, dann kann man das auch mit der Datenbankoberfläche machen. Dazu legt man eine Leertabelle mit gleicher Struktur an, wählt einen candidate key zum primary key und kopiert per SQL die Daten von der Ursprungstabelle in die Leertabelle:

SQL-Code:
insert into LEER select * from DATEN
Es werden keine Duplikate übernommen. Sollte auch per Programm auf diese Weise funktionieren.

Grüße vom marabu

Mitchl55 7. Feb 2006 16:44

Re: Doppelte Zeilen in Datenbank löschen!
 
Möchte nur die doppelten identischen Zeilen aus der Datenbank entfernen
und das aus meinem Prog heraus!Ist das denn damit möglich!

Danke & Gruß

Mitchl

marabu 7. Feb 2006 17:19

Re: Doppelte Zeilen in Datenbank löschen!
 
Ja sicher. Lese dir dazu mal das Kapitel über die Verwendung der TBatchMove-Komponente in der Online-Hilfe durch.

marabu

Mitchl55 7. Feb 2006 17:25

Re: Doppelte Zeilen in Datenbank löschen!
 
Danke


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