AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

SQLUpdate

Ein Thema von Kuckuckskind · begonnen am 17. Dez 2002 · letzter Beitrag vom 26. Dez 2002
Antwort Antwort
Benutzerbild von Kuckuckskind
Kuckuckskind

Registriert seit: 29. Nov 2002
65 Beiträge
 
Delphi 6 Enterprise
 
#1

SQLUpdate

  Alt 17. Dez 2002, 19:30
Hallo,

wenn ihr meine Threads vielleicht ein wenig verfolgt habt, werdet ihr vielleicht gemerkt haben, dass ich gerade an einer Bibliothekssoftware arbeite, dies für den Informatikunterricht tue und eigentlich keine wirkliche Ahnung von Delphi habe.
So, also, der Stand der Dinge ist, dass ich, wenn ich eine Suche durchführe, auf die einzelnen Ergebnisse klicken kann und Detailinformationen angezeigt werden. Alles wunderbar. Der einzige Haken: Es können nur für diejenigen Felder Detailinformationen ausgegeben werden, die ich auch über SELECT vorher ausgegeben habe.
Bsp: SELECT titel, verlag, signatur FROM buecher WHERE ...
Dann können in der Detailmaske nur der Titel, der Verlag und die Signatur ausgegeben werden. Alles andere verursacht eine Fehlermeldung nach dem Muster "Das Feld ... konnte nicht gefunden werden". Irgendwie muss ich also die SELECT-Abfrage nachträglich erweitern können, ohne dass die Eindeutigkeit verloren geht (Primary Key: Buchnr). Tja, kann man das über SQLUpdate realisieren? Ich hab im Internet gesucht, in Tutorials, aber keine Lösung für mein Problem gefunden...
  Mit Zitat antworten Zitat
xbu58

Registriert seit: 10. Dez 2002
Ort: Bäretswil / Schweiz
121 Beiträge
 
Delphi 7 Enterprise
 
#2
  Alt 17. Dez 2002, 19:52
Hallo Kuckuckskind

Na ja aller Anfang ist schwer oder so...

Zu Deinem Problem, ich denke, dass SQLUpdate nicht der richtige Ansatz ist. Wird nur eingesetzt, um Daten auf einem JOIN-Select tabellenbezogen in der DB zu manipulieren (sprich delete, insert, update). Wenn ich das aber richtig verstanden habe, liegt Dein Problem aber in der Ausgabe, wobei das eine Select mehr Felder enthält, als das andere. Das löst Du am besten, indem Du zwei Query-Objekte erstellst, wobei das eine das eine Select-Statement das zweite das ander Statement enthält. Nun musst Du diese beiden nur noch zusammenhängen. Gehen wir von folgenden Scripts aus:
Script 1
SELECT PrimKey, Info1, Info1 FROM Buecher
Dieses Script listet alle Bücher auf (DBGrid?).
Script 2
SELECT PrimKey, Info1, Info2, Info3 FROM Buecher WHERE PrimKey = rimKey
Dieses gibt genau den Datensatz aus, der im ersten Script focusiert wurde. Damit das jedoch funktioniert muss Das Query-Opject 2 an die Datasource des ersten Querys angehängt werden. Wähle dazu einfach im zweiten Query-Objekt im Property DataSource die Datensource des ersten Querys aus. Danach musst Du nur noch beide Querys aktivieren und schon werden die beiden Querys paralell focusiert.

Gruss
Xaver
  Mit Zitat antworten Zitat
Benutzerbild von Kuckuckskind
Kuckuckskind

Registriert seit: 29. Nov 2002
65 Beiträge
 
Delphi 6 Enterprise
 
#3
  Alt 17. Dez 2002, 19:58
Danke , das klingt so, als wenn es totsicher funktioniert! Muss ich gleich mal ausprobieren...
  Mit Zitat antworten Zitat
Benutzerbild von Kuckuckskind
Kuckuckskind

Registriert seit: 29. Nov 2002
65 Beiträge
 
Delphi 6 Enterprise
 
#4
  Alt 18. Dez 2002, 12:07
wunderbar!!!
  Mit Zitat antworten Zitat
DKamps

Registriert seit: 7. Nov 2002
Ort: Unna
30 Beiträge
 
Delphi 7 Enterprise
 
#5

Vorschlag

  Alt 26. Dez 2002, 21:44
SELECT * gibt alle Felder der Tabelle, des View oder was auch immer aus. Dann könnt Ihr Euch die zweite Query schenken.
  Mit Zitat antworten Zitat
xbu58

Registriert seit: 10. Dez 2002
Ort: Bäretswil / Schweiz
121 Beiträge
 
Delphi 7 Enterprise
 
#6
  Alt 26. Dez 2002, 22:39
Hallo DKamps

Das mit dem Stern ist zwar richtig, aber bei Übersichten nicht immer die beste Lösung. Werden z.B. sehr grosse Datenmengen abgefragt (grösser 10000 Rows) ist eine Abfrage z.B. der Hälfte der Felder auf einem SQL-Server etwas doppelt. Ein weiteres Hindernis entschteht, wenn in der Abfrage Joins und Sub-Querys benötigt werden. In diesem Fall kann auf einer solchen Abfrage kein Update, Delete oder Insert mehr durchgeführt werden.

Gruss
Xaver
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:41 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