AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Prozedur: Connection oder Query oder nichts übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

Prozedur: Connection oder Query oder nichts übergeben

Ein Thema von fkerber · begonnen am 12. Mai 2006 · letzter Beitrag vom 12. Mai 2006
Antwort Antwort
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#1

Prozedur: Connection oder Query oder nichts übergeben

  Alt 12. Mai 2006, 13:47
Datenbank: Firebird embedded • Version: 1.5.3 • Zugriff über: Zeos 6.5.1
Hallo!

Ich hätte eine Frage eher grundsätzlicher Natur:
Ich habe eine FireBird-Datenbank und überlege wie ich drauf zugreifen kann. Gemeint ist folgendes:

Ich habe eine Prozedur, die nicht an ein Formular gebunden ist - sondern von mehreren aus aufgerufen werden kann.

Jetzt habe ich prinzipiell drei Möglichkeiten:
  • Ich erzeuge in der Prozedur ZConnection und ZQuery, führe die Abfrage aus und geb die Sachen wieder frei
  • Ich übergebe der Prozedur bereits die Connection, erzeuge nur die Query usw. (also Connection liegt als nicht-visuelle Komponente auf dem Form)
  • Ich übergebe direkt die ZQuery an die Funktion (also ebenfalls zur Design-Time erstellte non-visuelle Komponente) und führe dann meine Abfrage aus

Was wäre denn jetzt der "richtige" oder bessere Weg?
Kann da grad keine echten Vor-/Nachteile finden....


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Prozedur: Connection oder Query oder nichts übergeben

  Alt 12. Mai 2006, 13:54
also ich übergebe immer die Connection und Query an die Funktionen.
Hat den Vorteil, dass es nur eine Connection zur DB gibt und die Connection nicht bei jedem Funktionsaufruf neu verbunden wird.
Ausserdem kann ich dann die Connection-Informationen (user, passwd, usw.) auch zentral verwalten.
Vorteil der gemeinsamen Query:
ich kann auch ausserhalb der Funktion auf die Query zugreifen und evtl weitere Ergebnisse verarbeiten.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Hoshy

Registriert seit: 27. Apr 2006
32 Beiträge
 
Delphi 7 Architect
 
#3

Re: Prozedur: Connection oder Query oder nichts übergeben

  Alt 12. Mai 2006, 13:55
Ich persönlich bin wieder davon ab, Komponenten dynamisch zur Laufzeit zu erstellen, denn das ist der Übersichtlichkeit nicht gerade zuträglich

Meistens bau' ich ein TDatamodule, in dem die Connection und die Datasets als Komponenten drinliegen...in das DataModule packe ich dann auch alle Methoden rein, die das reine Datenhandling machen. Das DataModule lasse ich automatisch erzeugen, weil ich's ja eigentlich ständig brauche, es muss nur in die Uses-Klausel der Forms rein, die das DM benutzen wollen.

Das würde sich auch in Deinem Fall anbieten, weil mehrere Forms diese Methoden benutzen sollen.

Eine Connection zur aufzeit jedesmal neu auf- und wieder abbauen würde ich aus Performancegründen nciht machen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Prozedur: Connection oder Query oder nichts übergeben

  Alt 12. Mai 2006, 13:55
Ich würde eine datenmodul verwenden, dort die ZConnection ablegen. In der Procedur würde ich nur überprüfen, ob Verbindung schon aktiv und ggf. die Verbindung dann aufbauen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Prozedur: Connection oder Query oder nichts übergeben

  Alt 12. Mai 2006, 14:02
Zitat von Hoshy:
Meistens bau' ich ein TDatamodule, in dem die Connection und die Datasets als Komponenten drinliegen...in das DataModule packe ich dann auch alle Methoden rein, die das reine Datenhandling machen. Das DataModule lasse ich automatisch erzeugen, weil ich's ja eigentlich ständig brauche, es muss nur in die Uses-Klausel der Forms rein, die das DM benutzen wollen.
Gibt es zu TDatamodule ein brauchbares Tutorial?
Alle sprechen davon, aber bisher habe ich noch keine eindeutige Beschreibung gefunden...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#6

Re: Prozedur: Connection oder Query oder nichts übergeben

  Alt 12. Mai 2006, 14:02
Hi!

@mkinzler und Hoshy:
Ich vermute, ihr meint dasselbe? Meint ihr das, was im Anhang zu sehen ist?

Wo genau liegt der Vorteil an dieser Lösung?

@RavenIV:
Danke für deine Meinung.


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Prozedur: Connection oder Query oder nichts übergeben

  Alt 12. Mai 2006, 14:06
Zitat von fkerber:
@mkinzler und Hoshy:
Ich vermute, ihr meint dasselbe? Meint ihr das, was im Anhang zu sehen ist?
Anhang????
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Prozedur: Connection oder Query oder nichts übergeben

  Alt 12. Mai 2006, 14:10
Ich denke es kommt auf den Verwendungszweck an..

wenn du nur schnell eine Zeile in die DB schiessen willst würde ich sie persönlich zur Laufzeit erstellen und nur die Connection übergeben.

wenn du allerdings in der Query schon Daten selektiert hast, diese bearbeiten willst und danach noch mit derselben Query weiterarbeiten willst, würde ich sie komplett übergeben.

MfG
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Hoshy

Registriert seit: 27. Apr 2006
32 Beiträge
 
Delphi 7 Architect
 
#9

Re: Prozedur: Connection oder Query oder nichts übergeben

  Alt 12. Mai 2006, 14:17
Zitat:
Gibt es zu TDatamodule ein brauchbares Tutorial?
Alle sprechen davon, aber bisher habe ich noch keine eindeutige Beschreibung gefunden...
In Delphi: Menü "Datei" / "Neu" / Datenmodul...

Ist ja eigentlich nur ein Container zur Aufbewahrung von Connections, Datasets usw...Man kann aber auch andere nicht-visuelle Komponenten reinpacken.

Vorteil: Alle Datenzugriffskomponenten zentral an einem Ort.

Könnte man natürlich auch auf einem TForm plazieren, welches niemals sichtbar gemacht wird, aber dann schleppt man den ganzen Overhead des TForm durch den Speicher
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#10

Re: Prozedur: Connection oder Query oder nichts übergeben

  Alt 12. Mai 2006, 15:13
Hi!

Jepp, das meinte ich wohl!
Vergesse den Anhang fast immer

Häng ihn dann mal hier an...


Ciao Frederic
Miniaturansicht angehängter Grafiken
bild1_124.png  
Frederic Kerber
  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 10:57 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