AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi updateSQL, Daten eingeben
Thema durchsuchen
Ansicht
Themen-Optionen

updateSQL, Daten eingeben

Ein Thema von abi · begonnen am 16. Jun 2004 · letzter Beitrag vom 16. Jun 2004
Antwort Antwort
abi

Registriert seit: 20. Apr 2004
Ort: Köln
143 Beiträge
 
#1

updateSQL, Daten eingeben

  Alt 16. Jun 2004, 12:22
Hallo
irgendwie komme ich nicht weiter.

Ich habe 3 Tabellen 'Lehrer'
Nummer
Name
Fachbereich

---Hilfe
Dozent //verweisst auf Nummer von Tabelle Lehrer
Buch //verweisst auf Nummer von Tabelle Buch


--Buch
Nummer
Autor
Titel

Da ich in meiner SQL Anweisung ein Join enthalten habe. Muss ich ja über das updateSQL gehen.

Das bekomme ich auch hin, für meinen Namen und Fachbereich.
Aber ich wollte jetzt auch noch ein Buch auswählen. Wie kann ich des am besten machen.

Mercy

abi
Wer nicht fragt, bleibt dumm.
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#2

Re: updateSQL, Daten eingeben

  Alt 16. Jun 2004, 12:35
Was hast Du den bis jetzt schon an Code dafür geschrieben?

Willst Du den Bezug zu dem Buch dann noch mit speichern?
  Mit Zitat antworten Zitat
abi

Registriert seit: 20. Apr 2004
Ort: Köln
143 Beiträge
 
#3

Re: updateSQL, Daten eingeben

  Alt 16. Jun 2004, 12:42
Hallo Albi
schön dich wieder zuhören.

Hab des jetzt wie du mir empfohlen hast mit Query Komponente gemacht.

Als SQL Befehl habe ich folgendes geschrieben.
Code:
SELECT *
FROM Lehrer L
Left OUTER JOIN Hilfe H ON (L.Nummer = H.Dozent)
LEFT OUTER JOIN Buch B ON (H.Buch = B.Nummer)
Da ich hier ja ein Join enthalten habe, kann ich hier ja nicht direkt einen neuen Datensatz einfügen.

Deshalb benutze ich eine UpdateSQL Komponente.

Jetzt kann ich zwar einen neuen Namen und eine neuen Fachbereich eintragen. Aber ich kann kein vorhandendes oder neues Buch auswählen.

Aber jetzt wollte ich des erstmal mit zwei Tabellen versuchen.

gruß
abi
Wer nicht fragt, bleibt dumm.
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#4

Re: updateSQL, Daten eingeben

  Alt 16. Jun 2004, 13:00
Ich möchte jetzt nicht falsches sagen aber ich denke nur weil du ein Join verwendest brauchst du doch nicht zwingend ein UpdateSQL verwenden. Mit der einen Kompo die du jetzt gerade verwendest, filterst Du doch nur die Datenmenge. Wenn Du jetzt z.B. einen neuen Datensatz einfügen willst, dann nimmst Du eine 2 Query-kompo und schreibt einfach nur da rein was sie machen soll, das passiert völlig unabhängig von der Query.

Das könnte so aussehen:

SQL-Code:
with Query Do
begin
   Edit;
   Query.FieldByName('FeldName').asSonstwas:= Wert der geschrieben werden soll
   ...
   ...
   post;
end;
So kannst Du eine DS ändern, wenn du einen neuen DS einfügen willst setzt du vor das Edit noch ein append und es wird in der jeweiligen DB ein neuer DS eingefügt.

Es gib bestimmt noch mehrere Varianten soetwas zu handhaben aber ich mach es immer so.

Wenn Du nun z.B. einen neuen Lehrer anlegst, dann überprüft du vor dem speichern ob er schon da, wenn ja also nichts tun bzw. ändern, dann schaust du nach ober er in Hilfe-DB schon steht, wenn ja nichts tun, wenn nicht einfügen.

Du must die Hilfe-DB nicht als Ausgangs-DB betrachten, sondern deine beiden anderen DB. Die Hilfe DB macht es dir nur möglich, die Datenmenge übersichtlich zu halten. Sprich nur einmal die komplette Daten einzugeben. Wenn Du also einen DS eingeben willst erfolg das direkt über die DB's Lehrer und Buch und nicht über Hilfe.
  Mit Zitat antworten Zitat
abi

Registriert seit: 20. Apr 2004
Ort: Köln
143 Beiträge
 
#5

Re: updateSQL, Daten eingeben

  Alt 16. Jun 2004, 13:13
Danke Albi
ich glaube ich hab verstanden was du meinst.

Dann mache ich mal ne zweite Query Komponente.

Und probiere mal deine ganzen Tips aus.

mercy
abi
Wer nicht fragt, bleibt dumm.
  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 01:47 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