Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL In DBGrid markierten Datensatz löschen/ändern (https://www.delphipraxis.net/132640-sql-dbgrid-markierten-datensatz-loeschen-aendern.html)

mkinzler 16. Apr 2009 19:14

Re: SQL In DBGrid markierten Datensatz löschen/ändern
 
Mach einen Screenshot der Datenbankoberfläche

DeddyH 16. Apr 2009 19:15

Re: SQL In DBGrid markierten Datensatz löschen/ändern
 
Je nach Delphi-Version wird die Datenbankoberfläche mitgeliefert. Damit kannst Du die Struktur bearbeiten/anzeigen.

germanos 16. Apr 2009 19:20

Re: SQL In DBGrid markierten Datensatz löschen/ändern
 
Wie bekomme ich das Bild in das Antwort-Doku??

DeddyH 16. Apr 2009 19:22

Re: SQL In DBGrid markierten Datensatz löschen/ändern
 
Als JPEG oder PNG an den Beitrag anhängen ;)

mkinzler 16. Apr 2009 19:25

Re: SQL In DBGrid markierten Datensatz löschen/ändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Als Analge(Attachment) an Beitrag hängen

germanos 16. Apr 2009 19:27

Re: SQL In DBGrid markierten Datensatz löschen/ändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hoffe, das kommt an über "Attachment hinzufügen"???

germanos 16. Apr 2009 19:32

Re: SQL In DBGrid markierten Datensatz löschen/ändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das war die entscheidende Tabelle mit den Eingaben aller Einnahmen und Ausgaben. Die hier angehängte ist die Tabelle mit den Nebenkonten (Tabelle 2 in meiner Auflistung.

germanos 16. Apr 2009 19:35

Re: SQL In DBGrid markierten Datensatz löschen/ändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Und das ist die erste Tabelle mit den Hauptkonten.

Leider muß ich jetzt erstmal Schluß machen. Die Arbeit ruft. Ich schaue morgen wieder rein.

Vielen Dank

Peter

nahpets 17. Apr 2009 09:03

Re: SQL In DBGrid markierten Datensatz löschen/ändern
 
Hallo,

zuerst zur Tabelle hb_konto:

So wie die aufgebaut ist, ist das korrekt, es sollte einen eindeutigen Index auf KontoID geben, damit diese nicht versehentlich doppelt vergeben werden kann.

Nun zur Tabelle hb_neben:

Sie hat den Fremdschlüssel KontoID auf hb_konto und die eigene, nicht eindeutige ID NKontoID. Die Kombination aus KontoID und NKontoID ist eindeutig. Auf diese Kombination sollte ein eindeutiger Index gelegt werden, damit diese nicht versehentlich doppelt vergeben werden kann.

Prinzipiell ist das so korrekt.

Nun zur Tabelle hb_beschreib:

Sie verfügt über einen Fremdschlüssel auf die Tabelle hb_neben über NKontoID. Dies reicht für die Eindeutigkeit nicht aus, hier sollte zusätzlich der Fremdschlüssel KontoID mit aufgenommen werden, damit die eindeutige Zuordnung zur Tabelle hb_neben über die Kombination aus KontoID und NKontoID erfolgen kann. Damit ist aus Kontensicht eine eindeutige Zuordnung über SQL zwischen den Tabellen möglich.
Damit identische Sätze in der Tabelle hb_beschreib unterschieden werden können, sollte diese Tabelle noch eine Spalte BeschreibID mit eindeutigem Index bekommen. Hier empfiehlt sich ein AutoInc-Feld.

Ansonsten erscheint mir das Design korrekt und Paradox/dBase für diese Aufgabenstellung durchaus ausreichend (auch wenn es ein "altes, nicht mehr zeitgemäßes System ist". Zum Lernen ist es immer noch sehr gut zu gebrauchen.

guke 14. Jul 2009 17:16

Re: SQL In DBGrid markierten Datensatz löschen/ändern
 
Ich komme nochmal auf die oben vorgeschlagene WHERE-Abfrage zurück:

Wenn der zu löschende doppelte Datensatz von a bis z mit einem anderen identisch ist, dann ist es m. E. doch völlig egal, welcher Datensatz nach der WHERE-Abfrage gelöscht wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:36 Uhr.
Seite 3 von 4     123 4      

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