Relationen

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
JanR
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 129
Registriert: Di, 18. Okt 2005 14:44

Relationen

Beitrag von JanR »

Hallo,

ich habe folgendes Problem:

Es existieren 2 Datenbanken (Eltern u. Kinder). Diese sind mit einer Relation verknüpft, sodass ich von der Datenbank Eltern auf den Inhalt der Datenbank Kinder zugreifen kann. Das klappt auch so weit ganz gut, solange die Eltern auch Kinder haben. Sind keine Kinder vorhanden, wird von der Datenbank Kinder der letzte Datensatz genommen, was dann zu Problemen führt, weil das ja falsch ist.

Wie kann ich das lösen?


Viele Grüsse,
Jan
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Jan,
mit ein Grund, warum ich noch nie Relationen genutzt habe!
Ich suche mir die Kinder selber (Index drauf und Seek nach den Schlüsselfeldern). Dann kann man wenigstens vernünftig drauf reagieren :D

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Suchen Datenbank

Beitrag von Rolf Ramacher »

Hallo Jan,


ich mache sowas genau wie Martin beschrieben hat. Die beiden Datenbanken müssen ja irgendwie sauber zu verbinden sein. Vor allem
kannst du bei mit if-Abfrage beim Seek prüfen, ob der satz gefunden wurde. d.h. bei Nicht-Finden brauchst du gar nicht weiter zu machen.

Dann hast du eine saubere Lösung.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo,

auch ich nutze normalerweise keine Relationen, aber
wenn ich mich recht erinnere, müssten die Kinder auf EOF gehen, wenn
kein passender Datensatz gefunden wurde.
Keinesfalls dürfen falsche Datensätze angezeigt werden.

Prüfe doch mal ob deine Indexdateien noch richtig sind,
Indexfehler kommen vor und wirken sich hier natürlich besonders übel aus.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21192
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Jan,

generell muß es so sein, wie oben beschrieben. Kein Fund-> EOF()

Aaaaber, und jetzt kommt der Einwand. Die Relationsverwaltung ist im Eimer zur Zeit. Sie klappt nicht zuverlässig. Ich an Deiner Stelle würde warten, ob sich was im nächsten "Update" tut.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Gerd König
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 193
Registriert: Fr, 09. Jun 2006 7:52
Wohnort: Nähe Sömmerda

Beitrag von Gerd König »

... oder ganz auf Relationen verzichten, wie ich.
Ich baue so etwas lieber selbst ins Programm, schon die Fehlersuche wird dadurch einfacher.


Viele Grüße
Gerd
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

ich mache sowas auch indem ich die abhängigen Dateien mit DBSEEK oder neuerdings DBSCOPE eingrenze. Zusätzlich prüfe ich in den Kinddateien immer zumindest den 1. Datensatz ob dieser tatsächlich dem Suchbegriff entspricht, kostet nix ist aber viel sicherer.
Zu Clipperzeiten hatte ich leider ab und zu ein Indexproblem, da wurde ich vorsichtig.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12907
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Beitrag von AUGE_OHR »

hi,
Jan hat geschrieben: Sind keine Kinder vorhanden, wird von der Datenbank Kinder der letzte
Datensatz genommen, was dann zu Problemen führt, weil das ja falsch
ist.
uups ... das ist mir noch gar nicht aufgefallen ...
könnte auch daran liegen das ich nur noch SET RELATION da verwenden
wo ich exact 1 "Kind" habe und ansonsten Scope.
Manfred hat geschrieben: generell muß es so sein, wie oben beschrieben. Kein Fund-> EOF()

Aaaaber, und jetzt kommt der Einwand. Die Relationsverwaltung ist im
Eimer zur Zeit. Sie klappt nicht zuverlässig. Ich an Deiner Stelle würde
warten, ob sich was im nächsten "Update" tut.
hm ... welche PDR meinst du jetzt ? Ich finde kaum noch ein OPEN in
der Alaska KB

ich hatte meinen letzten BUG mit SET RELATION letztes Jahr gemeldet :
20.12.05 BUG "SET RELATION" bei Xbase++ zuerst "RELA TO", aber das
war ja noch in der beta Phase.

gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21192
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Jimmy,

ich habe seit der letzten Release kein Update mehr erhalten, wenn denn eins zu bekommen wäre.

Das was ich meine, war das Problem was auch hier im Forum besprochen wurde, auf dass Du auch recht unzufrieden reagiert hattest. Ich persönlich habe in meiner jetzigen Version festgestellt, dass die Relationen nicht richtig geführt werden. Sollte das behoben und auch schon ausgeliefert sein, dann lasse ich mich gerne eines Besseren belehren.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten