AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Leere Zeilen entfernen und neu nummerieren
Thema durchsuchen
Ansicht
Themen-Optionen

Leere Zeilen entfernen und neu nummerieren

Ein Thema von Snooze · begonnen am 21. Feb 2004 · letzter Beitrag vom 22. Feb 2004
Antwort Antwort
Benutzerbild von Snooze
Snooze

Registriert seit: 8. Okt 2003
Ort: Niedernsill (Salzburg)
97 Beiträge
 
Delphi 7 Enterprise
 
#1

Leere Zeilen entfernen und neu nummerieren

  Alt 21. Feb 2004, 14:30
Hallo,

arbeite mit einer Paradox 7 - Datenbank.

wenn ich jetzt ca. 60 Datensätze habe, sind sie ja von haus aus durchnummeriert...

wenn ich diese jetzt lösche und neu anfange, geht die Nummer bei 61 weida

kann ich dies auf 0 setzen oder leere Zeilen komplett entfernen und neu durchzählen lassen?

Danke für Hilfe

Ciao

Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Leere Zeilen entfernen und neu nummerieren

  Alt 21. Feb 2004, 17:53
Die ID eines Datensatzen identifiziert einen Datensatz eindeutig mehr nicht. Schon einmal vergebene werden nicht neu vergeben. Und wenn du jetzt einen anfügst wird bei der letzten ID weitergemacht. Da man mit der ID sonst nichts weiter amchen sollte, sollte es dir egal sein, was für eine ID der neue Datensatz bekommt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Snooze
Snooze

Registriert seit: 8. Okt 2003
Ort: Niedernsill (Salzburg)
97 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Leere Zeilen entfernen und neu nummerieren

  Alt 21. Feb 2004, 18:33
doch in meinem Falle schon.

die datenbank verlangt ja eine Spalte, die automatisch weiter geht.

und diese verwende ich für mein Prog.

und denn müsste ich doch irgendwie refreshen können.

die datenbank selber führt ja ganz vorne im Database Desktop einen Zähler, der richtig handelt, nur kann ich den nicht auslesen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Leere Zeilen entfernen und neu nummerieren

  Alt 21. Feb 2004, 18:47
Zitat von Snooze:
die datenbank verlangt ja eine Spalte, die automatisch weiter geht.
Richtig, um die Datensätze eindeutig identifizieren zu können.
Zitat:
und diese verwende ich für mein Prog.
Und das ist dein Fehler, das macht man nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Snooze
Snooze

Registriert seit: 8. Okt 2003
Ort: Niedernsill (Salzburg)
97 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Leere Zeilen entfernen und neu nummerieren

  Alt 21. Feb 2004, 18:52
hm ja stimmt, wenn ich meine eigene Zählfunktion in eine eigene Spalte legen würde, könnte ich diese beim Start neu durchsortieren.

aber gibt es irgendwie eine Möglichkeit, doch auf den Zeiger der Datenbank zuzugreifen, weil diese stimmt ja und wird im Database-Desktop ganz rechts angezeigt.

Danke für Tipps
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#6

Re: Leere Zeilen entfernen und neu nummerieren

  Alt 22. Feb 2004, 17:25
Die Zahl da im Datenbankdesktop hat mit der Konkreten Zahl der Id-Spalte nichts zu tun! Diese Zahl wird jedesmal neu generiert, indem die Zeilen in der Tabelle gezählt werden z.B.:
SQL-Code:
SELECT Count(*)
  FROM TabellenName
liefert die Anzahl der Zeilen in einer Tabelle - bombensicher. Ohne "Wenn" und "Aber".

Stell Dir mal vor, Du hast eine Datenbank, bestehend aus 2 Tabellen:
Code:
[b][color=gray]Tabelle  Feld       Typ     Auto[/color][/b]
Topf     idTopf     int     Ja
 -"-      Durchmesser int     --
 -"-      Inhalt     int     -- 
 -"-      Farbe      char(25) --

und:

[b][color=gray]Tabelle  Feld       Typ     Auto[/color][/b]
Deckel   idDeckel   int         Ja
 -"-      idTopf     int         --
 -"-      Farbe      char(25)    --
Du befüllst nun die Topftabelle und anschließend die Deckeltabelle, alles schön farblich abgestimmt. Dann löscht Du einen Topf aus der Topftabelle und sortierst die idTopfspalte neu und vergibst "frische" fortlaufende Nummern: das Chaos ist perfekt!

Sicher kannst Du vorher mit einigem Aufwand die Deckeltabelle neu sortieren oder was auch immer. Aber stell Dir mal den Aufwand vor, in einer Datenbank mit um die 100 Tabellen, und mehreren Millionen Datensätzen, von deren richtigem Zusammenhang viel Geld oder gar Menschen abhängen...

Daher rührt man solche Id-Spalten unter keinen Umständen an.

Hoffe, das trägt ein wenig zum besseren Verständnis bei.
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  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 23:46 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