AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Doppelte Zeilen in Datenbank löschen!
Thema durchsuchen
Ansicht
Themen-Optionen

Doppelte Zeilen in Datenbank löschen!

Ein Thema von Mitchl55 · begonnen am 7. Feb 2006 · letzter Beitrag vom 7. Feb 2006
Antwort Antwort
Mitchl55

Registriert seit: 20. Feb 2003
Ort: Meppen
159 Beiträge
 
Delphi 7 Enterprise
 
#1

Doppelte Zeilen in Datenbank löschen!

  Alt 7. Feb 2006, 16:22
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
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: Table1.Filter := ( 'id =' + 'was') zusammenzubauen???

Danke & Gruß

Mitchl
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Doppelte Zeilen in Datenbank löschen!

  Alt 7. Feb 2006, 16:54
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Doppelte Zeilen in Datenbank löschen!

  Alt 7. Feb 2006, 17:24
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:

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

Grüße vom marabu
  Mit Zitat antworten Zitat
Mitchl55

Registriert seit: 20. Feb 2003
Ort: Meppen
159 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Doppelte Zeilen in Datenbank löschen!

  Alt 7. Feb 2006, 17:44
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Doppelte Zeilen in Datenbank löschen!

  Alt 7. Feb 2006, 18:19
Ja sicher. Lese dir dazu mal das Kapitel über die Verwendung der TBatchMove-Komponente in der Online-Hilfe durch.

marabu
  Mit Zitat antworten Zitat
Mitchl55

Registriert seit: 20. Feb 2003
Ort: Meppen
159 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Doppelte Zeilen in Datenbank löschen!

  Alt 7. Feb 2006, 18:25
Danke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:06 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