Seite 1 von 2
Zählen der tatsächlich vorhandenen Datensätze
Verfasst: 17.04.2008 10:17
von Ironsmurf
Hallo zusammen
ich beschäftige mich mit einer Datenbank, in der max. 10 000 Datensätze liegen können.
Wie muß eine Schleife aussehen, die mir die bis jetzt vorhandenen Datensätze zählt.
Vielen Dank im voraus
Code: Alles auswählen
Structure Movie
Code$
Name$
Star$
Info$
Regi$
Jahr$
Lang$
Trai$
EndStructure
;################################################################
Dim DVD.Movie(9999)
DVD (0001) \ Code$ = "0001"
DVD (0001) \ Name$ = "Cocktail"
DVD (0001) \ Star$ = "Tom Cruise, Bryan Brown, Elisabeth Shue"
DVD (0001) \ Info$ = "A001"
DVD (0001) \ Regi$ = "Roger Donaldson"
DVD (0001) \ Jahr$ = "1988"
DVD (0001) \ Lang$ = "103"
DVD (0001) \ Trai$ = "001A"
Re: Zählen der tatsächlich vorhandenen Datensätze
Verfasst: 17.04.2008 10:57
von Kiffi
kommt drauf an. Ist Code$ ein Pflichtfeld? Können Lücken vorhanden sein?
Code: Alles auswählen
Anzahl_Datensaetze=0
For Counter = 0 To 9999
If DVD(Counter)\Code$ <> ""
Anzahl_Datensaetze + 1
EndIf
Next
Debug Str(Anzahl_Datensaetze) + " Datensätze vorhanden"
Grüße ... Kiffi
Verfasst: 17.04.2008 11:24
von Ironsmurf
Code$ & Name$ sind Pflichtfelder !
Doppelpost entfernt [Falko]
Verfasst: 17.04.2008 11:41
von Kiffi
Ironsmurf hat geschrieben:Code$ & Name$ sind Pflichtfelder !
ja, dann kannst Du ja meinen Code nehmen.
Allerdings würde ich persönlich kein Array sondern eine LinkedList
verwenden. Aber das ist Geschmackssache...
Grüße ... Kiffi
P.S.: Bitte Doppelpostings vermeiden. Dafür gibt es den Edit-Button.
Re: Zählen der tatsächlich vorhandenen Datensätze
Verfasst: 17.04.2008 12:10
von scholly
Ironsmurf hat geschrieben:ich beschäftige mich mit einer Datenbank, in der max. 10 000 Datensätze liegen können.
Ist die nur für Kauf-DVDs oder auch für Selbstgebranntes?
Wie muß eine Schleife aussehen, die mir die bis jetzt vorhandenen Datensätze zählt.
Darf man fragen, wann/wo/wie Du die Daten abspeicherst?
Vielleicht kann man dort die Anzahl direkt auslesen.
Kiffi hat geschrieben:Allerdings würde ich persönlich kein Array sondern eine LinkedList verwenden.
Aber das ist Geschmackssache...
Oder direkt aus einer SQL(ite)-DB heraus benutzen, falls er es dort abspeichert

Re: Zählen der tatsächlich vorhandenen Datensätze
Verfasst: 17.04.2008 12:18
von Kiffi
scholly hat geschrieben:Oder direkt aus einer SQL(ite)-DB heraus benutzen, falls er es dort abspeichert

ja, das wäre natürlich die optimale Vorgehensweise. Allerdings vermute ich,
dass Ironsmurf die Daten aus einer Textdatei ausliest.
Grüße ... Kiffi
Re: Zählen der tatsächlich vorhandenen Datensätze
Verfasst: 17.04.2008 12:35
von scholly
Kiffi hat geschrieben:Allerdings vermute ich, dass Ironsmurf die Daten aus einer Textdatei ausliest.
Das vermute ich ja auch, weil ich mit meiner Video-Verwaltung damals auch mit CSV angefangen habe.
Allerdings war Dein "Bekehrungsversuch"

dank der nachfolgenden Unterstützung aus vielen Ecken so erfolgreich, daß ich den Einsatz von SQLite nicht mehr missen möchte

Re: Zählen der tatsächlich vorhandenen Datensätze
Verfasst: 17.04.2008 14:33
von AND51
Code: Alles auswählen
Define n, Anzahl_Datensaetze=0
For Counter = 0 To 9999
If Not DVD(n)\Code$
Break
EndIf
Anzahl_Datensaetze+1
Next
Debug Str(Anzahl_Datensaetze) + " Datensätze vorhanden"
Sooo ist's besser

Re: Zählen der tatsächlich vorhandenen Datensätze
Verfasst: 17.04.2008 14:35
von Kiffi
AND51 hat geschrieben:Sooo ist's besser

nope. Man kann nicht davon ausgehen, dass die 'Datensätze' lückenlos gefüllt
sind, solange Ironsmurf meine Frage nicht beantwortet hat:
Kiffi hat geschrieben:Können Lücken vorhanden sein?
Grüße ... Kiffi
Verfasst: 17.04.2008 14:39
von AND51
OK, da hast du natürlich Recht.
Übrigens würde ich genau wie du genau aus diesem Grunde zu LinkedLists tendieren.
@ Ironsmurf:
Benutze bitte LinkedLists, dann kannst du die Anzahl der Datensätze direkt und bequem mit CountList() ermitteln!!
Außerdem kannst du Lücken vermeiden, denn "leere" Felder kannst du mit DeleteElement() löschen!!