AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken dbcomponenten nutzen oder manuell handeln?
Thema durchsuchen
Ansicht
Themen-Optionen

dbcomponenten nutzen oder manuell handeln?

Ein Thema von khh · begonnen am 9. Jan 2009 · letzter Beitrag vom 9. Jan 2009
Antwort Antwort
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#1

dbcomponenten nutzen oder manuell handeln?

  Alt 9. Jan 2009, 08:47
Datenbank: firebird • Version: 2.1 • Zugriff über: zeos
hallo zusammen,
ich habe eine tabelle mit ca. 10 1:N Beziehungen und 2 N:M Beziehungen.
Lässt sich das mit Hilfe der Datenbankkompoenten darstellen und auch bearbeiten, oder sollte ich das lieber von Hand umsetzen.
Ideal wäre es natürlich, wenn die Daten mit Hilfe des TDBnavigator "verwaltet" werden könnten.
Ich weiss aber im Moment nicht, wie ich die Tabellen mit Hilfe der Dtenbankkomponenten miteinander verknüpfen kann.
Gibts dazu ein Tutorial?


Danke Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: dbcomponenten nutzen oder manuell handeln?

  Alt 9. Jan 2009, 09:11
Unabhängig von den Rahmenbedingungen wäre ich für Komponenten. Manueller Zugriff auf eine Datenbank ist doch vergleichbar mit der Neuerfindung des Rades.

Edit: Die Tabellen sind doch verknüpft. Was hat Dein Programm noch damit zu tun?

Sherlock
Oliver
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#3

Re: dbcomponenten nutzen oder manuell handeln?

  Alt 9. Jan 2009, 09:18
heisst, die Komponenten "erkennen" die entsprecheneden Verknüpfungen in der DB?
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: dbcomponenten nutzen oder manuell handeln?

  Alt 9. Jan 2009, 09:36
Was erwartest Du eigentlich?
Ich erwarte von dB-Komponenten, daß ich auf die Datenbank zugreifen kann. Ich kann Selects schreiben, die dann in DataSets abgelegt werden, an die wiederum eine DataSource gehängt werden kann. Diese DataSource schließlich kann als Quelle für DBsensitive visuelle Komponenten verwendet werden. Welche Struktur die DB dabei hat, spielt dabei eine untergeordnete Rolle.

Ein Einführungskurs: http://delphi.about.com/od/database/...secourse_2.htm

Sherlock
Oliver
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#5

Re: dbcomponenten nutzen oder manuell handeln?

  Alt 9. Jan 2009, 09:50
Zitat von Sherlock:
Was erwartest Du eigentlich?
Ich erwarte von dB-Komponenten, daß ich auf die Datenbank zugreifen kann. Ich kann Selects schreiben, die dann in DataSets abgelegt werden, an die wiederum eine DataSource gehängt werden kann. Diese DataSource schließlich kann als Quelle für DBsensitive visuelle Komponenten verwendet werden. Welche Struktur die DB dabei hat, spielt dabei eine untergeordnete Rolle.

Ein Einführungskurs: http://delphi.about.com/od/database/...secourse_2.htm

Sherlock
ich danke dir
Karl-Heinz
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

Re: dbcomponenten nutzen oder manuell handeln?

  Alt 9. Jan 2009, 10:28
Hallo,

schau Dir mal die Attribute MasterSource und MasterFields von TTable oder TAdoTable an. Wenn Du die zwischen unterschiedlichen Komponenten dieses Typs richtig verknüpfts, solltest Du in den Anzeigekomponenten immer die gewünschte Master-Detail-Beziehung erhalten. D. h.: Du siehst im DBGrid für ein Detail nur die Sätze, die zum aktuell ausgewählten Master gehören. Wanderst Du per DBNavigator durch den Master, so wird die Anzeige in den Detail-DBGrids entsprechend aktualisiert. Das geht auch noch, wenn Du einen Master und mehrere Details hast und die Details wiederum Master von weiteren Details sind, also sowas in der Form 1:n:m. Und das dürfte doch das sein, was Du möchtest?
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: dbcomponenten nutzen oder manuell handeln?

  Alt 9. Jan 2009, 10:38
Zitat von nahpets:
schau Dir mal die Attribute MasterSource und MasterFields von TTable oder TAdoTable an
kleine Anmerkung von mir dazu: Ich verwende so gut wie niemals diese Eigenschaften und setzte die Filter der Details lieber in einem Timer, der vom AfterScroll des Masters gefeuert wird.
Nachteile von MasterSource:
- die Detail-Datenmenge muss den richtigen Index anliegen haben
- es werden immer die kompletten Details geladen, was bei einem schnellen durchscrollen durch den Master unendlich langsam wird
Vorteile:
- bei einem Insert werden die Verknüpfungsfelder des Details schon richtig ausgefüllt
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#8

Re: dbcomponenten nutzen oder manuell handeln?

  Alt 9. Jan 2009, 10:39
Zitat von nahpets:
Hallo,

schau Dir mal die Attribute MasterSource und MasterFields von TTable oder TAdoTable an. Wenn Du die zwischen unterschiedlichen Komponenten dieses Typs richtig verknüpfts, solltest Du in den Anzeigekomponenten immer die gewünschte Master-Detail-Beziehung erhalten. D. h.: Du siehst im DBGrid für ein Detail nur die Sätze, die zum aktuell ausgewählten Master gehören. Wanderst Du per DBNavigator durch den Master, so wird die Anzeige in den Detail-DBGrids entsprechend aktualisiert. Das geht auch noch, wenn Du einen Master und mehrere Details hast und die Details wiederum Master von weiteren Details sind, also sowas in der Form 1:n:m. Und das dürfte doch das sein, was Du möchtest?
genau das brauche ich,

ich hatte keine table dazwischen geschaltet sondern nur querys und datasources

ich danke euch


Gruss KH
Karl-Heinz
  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 11:28 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