AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL In DBGrid markierten Datensatz löschen/ändern
Thema durchsuchen
Ansicht
Themen-Optionen

SQL In DBGrid markierten Datensatz löschen/ändern

Ein Thema von germanos · begonnen am 16. Apr 2009 · letzter Beitrag vom 14. Jul 2009
Antwort Antwort
Seite 2 von 4     12 34      
germanos

Registriert seit: 3. Apr 2009
Ort: Xanten
16 Beiträge
 
#11

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

  Alt 16. Apr 2009, 19:27
Was ist mit richtige DB gemeint? Wie gesagt, stecke ich noch in den "Delphi-Anfänger"-Problemen fest.

Die Anwendung wird ein Haushaltsbuch mit folgenden Spalten: monat, NebenkontoID, Datum, Beschreibung und Preis.

Darüber gibt es 2 DBs. Die erste DB beinhaltet die 6 Hauptkonten wie Fixkosten, Haushalt usw.
Die zweite DB beinhaltet die Nebenkonten wie Fixkosten= Miete, Versicherung, Strom usw.
Die dritte DB, um die es jetzt geht, beinhaltet alle Ausgaben und Einnahmen, die anfallen, identifiziert durch die NebenkontoID, die zusammengesetzt ist aus der ID der ersten DB und der zweiten DB. Beispiel: Die Miete wird dem 1. Konto DB1 und dem 1. Konto DB2 zugeordnet durch die zusammengesetzten IDs der ersten beiden DBs, also 1 und 1 =11

Ich bin überzeugt, das es da bessere Ansätze geben wird, aber ich wollte alles über Datenbanken abwickeln. Und mit SQL sind Abfragen durch Selektion sehr einfach machbar. Bis zu dem jetzt besprochenen Problem. Mit einer TTable und einer Navigator-Komponente ist das Editieren und löschen von Daten einfacher. Da wird aber der Rest halt komplizierter.

Sollten dennoch Vorschläge vorhanden sein, wie man die ganze Sache einfacher gestaltet, fange ich auch nochmal von vorne an.

Ich hoffe, das die Beschreibung meiner Anwendung verständlich war und freue mich auf Verbesserungsvorschläge,

Peter
  Mit Zitat antworten Zitat
khh

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

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

  Alt 16. Apr 2009, 19:41
Zitat von germanos:
Was ist mit richtige DB gemeint? Wie gesagt, stecke ich noch in den "Delphi-Anfänger"-Problemen fest.

Die Anwendung wird ein Haushaltsbuch mit folgenden Spalten: monat, NebenkontoID, Datum, Beschreibung und Preis.

Darüber gibt es 2 DBs.




Peter
du verwechselst hier schon DB mit Tabelle.

ich denke du solltest dich erst mal näher mit DB beschäftigen bevor du an die Umsetzung gehst.

Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
germanos

Registriert seit: 3. Apr 2009
Ort: Xanten
16 Beiträge
 
#13

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

  Alt 16. Apr 2009, 19:46
Nun das ist natürlich die Hilfe die ich brauche. So etwas wie " Mach erst mal deiner Schulaufgaben, bevor du bei den Profis mitspielen willst."

Ich hoffe, keinem von euch zufiel Zeit gestohlen zu haben.

Vielen Dank!!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#14

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

  Alt 16. Apr 2009, 19:52
Nein, wir helfen ja gern. Nur sollte ein gewisses Grundlagenwissen vorhanden sein. Ein Primärschlüssel ist ein Feld, über welches man einen Datensatz eindeutig identifizieren kann. Er kann ein Merkmal des datensatzes sein ( z.B. Artikelnr) oder künstlich sein ( z.B. als autoinc). Die künstlichen haben den Vorteil, das man alle realen Eigenschaften ändern kann, ohne das das einen Einfluss auf die Beziehungen zwischen den Datensätzen hat.
Markus Kinzler
  Mit Zitat antworten Zitat
khh

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

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

  Alt 16. Apr 2009, 19:55
Zitat von germanos:
Nun das ist natürlich die Hilfe die ich brauche. So etwas wie " Mach erst mal deiner Schulaufgaben, bevor du bei den Profis mitspielen willst."

Ich hoffe, keinem von euch zufiel Zeit gestohlen zu haben.

Vielen Dank!!
sollte sicher nicht schulmeisterisch wirken, sorry wenns so rüber kam.
Eine gewisse Grundkenntniss sollte aber dennoch vorhanden sein, wenn du die Hilfe hier auch verstehen willst.


Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
germanos

Registriert seit: 3. Apr 2009
Ort: Xanten
16 Beiträge
 
#16

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

  Alt 16. Apr 2009, 20:03
Wenn ich das richtig verstehe, brauche ich eine Spalte, in der für jeden Datensatz ein eindeutiger Eintrag steht. Mit dieser Spalte hätte ich dann aber auch die Möglichkeit mit einer WHERE-Abfrage an den zu löschenden oder zu editierenden Datensatz zu gelangen. Für die beiden ersten TABELLEN benutze ich Indizes zum verbinden der 2 Tabellen. Wenn Indizes und Primärschlüssel nicht das gleiche sind, habe ich das falsch verstanden. Aber in den 3 dicken Büchern über Delphi ( u.a. Datenbanken mit Delphi) ist alles sehr oberflächlich und ohne konkrete Beispiele erklärt. Die berühmte Telefonnummer-Tabelle ist da nicht sehr aufschlußreich.

Dennoch würde eine weitere Spalte für die eindeutige Identifizierung wohl ausreichen, oder??

Peter
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#17

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

  Alt 16. Apr 2009, 20:06
Ein Index ist eine Inhaltsverzeich über einen Ausschnitt von Feldern in einer definierten Reihenfolge, der beim Suchen eines Datensatzes anstatt der Originaltabelle durchsucht wird. Für Primärschlüssel wird ein Index angelegt, es handelt sich aber nicht um Synonyme.
Markus Kinzler
  Mit Zitat antworten Zitat
khh

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

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

  Alt 16. Apr 2009, 20:08
zeig uns doch mal die genaue struktur der tabellen,
ich denke dann kann man besser helfen.


Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#19

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

  Alt 16. Apr 2009, 20:08
Richtig, Du brauchst einen Primärschlüssel, den Du bei vielen DBs auf "Autowert" bzw. "Autoinc" setzen kannst (bei "echten" DBMS braucht es dafür etwas mehr Eigenarbeit). Das bedeutet, dass die DB selbstständig diesen Wert hochzählt, ohne dass Du etwas dafür tun musst. Somit hast Du einen eindeutigen Wert zur Identifikation des Datensatzes.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
germanos

Registriert seit: 3. Apr 2009
Ort: Xanten
16 Beiträge
 
#20

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

  Alt 16. Apr 2009, 20:13
Ich schätze, das sind dann die mdx-Dateien.

Wie kann ich die Struktur anzeigen? Der Quelltext ist da nicht aussagekräftig.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 13:55 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