AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Query als Funktionsparameter

Ein Thema von fly_singapore · begonnen am 18. Jan 2012 · letzter Beitrag vom 20. Jan 2012
Antwort Antwort
fly_singapore

Registriert seit: 31. Mär 2007
Ort: Kolbnitz/Bonn Österreich/Deutschland
96 Beiträge
 
Delphi 2006 Enterprise
 
#1

Query als Funktionsparameter

  Alt 18. Jan 2012, 13:39
Hallo Allerseits,

Ich stehe hier vor ein kleineres Problem und benötige etwas Schützenhilfe:

Auf einer Form habe ich ein QueryControl gesetzt.

Ich habe dann eine Unit erstellt, die im Wesentlichen alle Funktionen und Prozeduren zu Datenbank-Operationen aufnehmen soll.

Jetzt ist es so, dass die Unit die ursprüngliche Query nicht kennt.
Ich habe versucht, die Standardunit im Abschnitt Uses einzubinden, leider ohne Erfolg.

Ich überlege mir zwei Alternativen:

1. Ich übergebe einer Funktion, die in der Datenbank-Unit definiert ist, ein Objekt der Klasse TADOquery. Die kann ich aber nicht in der Funktion nicht nutzen, da das Objekt nicht die Query-spezifischen Eigenschaften kenn.

2. Ich "veröffentliche" das QueryObjekt Anwendungsweit über alle Units und Formen.

Ich weiss, das ich die Datenbank-Controls weiterverwenden kann, aber leider fehlt mir der Weg dazu.

Danke im Voraus
Peter Steffens
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Query als Funktionsparameter

  Alt 19. Jan 2012, 17:55
Hallo Allerseits,

Ich stehe hier vor ein kleineres Problem und benötige etwas Schützenhilfe:
Hallo.
Auf einer Form habe ich ein QueryControl gesetzt.
Schlechter Platz, dafür gibts eigentlich Datenmodule, aber was solls.
Ich habe dann eine Unit erstellt, die im Wesentlichen alle Funktionen und Prozeduren zu Datenbank-Operationen aufnehmen soll.
Eine Unit soll alles können?
Was tun dieses Funktionen und Prozeduren im einzelnen.
Jetzt ist es so, dass die Unit die ursprüngliche Query nicht kennt.
Muss sie ja nicht, wenn du diese als Parameter übergibst.
Ob das Konzept sinnvoll ist, ist eine andere Frage.
Ich habe versucht, die Standardunit im Abschnitt Uses einzubinden, leider ohne Erfolg.
Was bitte ist "die Standardunit"?
Ich überlege mir zwei Alternativen:

1. Ich übergebe einer Funktion, die in der Datenbank-Unit definiert ist, ein Objekt der Klasse TADOquery. Die kann ich aber nicht in der Funktion nicht nutzen, da das Objekt nicht die Query-spezifischen Eigenschaften kenn.
Was sollten das für Eigenschaften sein, jede Eigenschaft die du gesetzt hast (Parameter, SQL, Felder usw.) kann man auch wieder abfragen.
2. Ich "veröffentliche" das QueryObjekt Anwendungsweit über alle Units und Formen.
Ganz schlechte Idee.
Ich weiss, das ich die Datenbank-Controls weiterverwenden kann, aber leider fehlt mir der Weg dazu.

Danke im Voraus
Auf mich wirkt das alles sehr konfus.
Ohne zu wissen was du eigentlich erreichen willst und mehr Details wid dir kaum jemand helfen können.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Query als Funktionsparameter

  Alt 19. Jan 2012, 18:35
Na ist doch klar was er gemacht hat:
In der Unit1 (form-unit) befindet sich die ADOQuery
In der Unit2 sind alle DB-Funktionen untergebracht.
und in Unit1 steht
Delphi-Quellcode:
Uses Unit2
...
Unit2.MyFunction(prm1);
....
und in Unit2:
Delphi-Quellcode:
Uses Unit1
...
Unit1.AdoQuery1....
...
Und das geht nicht *schnief*

Zitat:
Schlechter Platz, dafür gibts eigentlich Datenmodule, aber was solls.

So ist das!!
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (19. Jan 2012 um 18:37 Uhr)
  Mit Zitat antworten Zitat
fly_singapore

Registriert seit: 31. Mär 2007
Ort: Kolbnitz/Bonn Österreich/Deutschland
96 Beiträge
 
Delphi 2006 Enterprise
 
#4

AW: Query als Funktionsparameter

  Alt 20. Jan 2012, 13:46
Hallo p80286 (K-H)

mit der vorgenannten

Delphi-Quellcode:

unit.ADOQuery3
ging es leider nicht so gut, jedoch habe ich noch den Formularnamen <Form1> angeben, da diese
die ADOQuery als control beinhaltete

unit.form1.ADOQuery3 So ging es. Es ging auch nur mit der <Form1>

Delphi-Quellcode:

form1.ADOQuery3
Das mit dem Datenmodul muss ich mir noch einmal durchlesen. Mit der Delphi-Programmiererei habe ich halt einige Jahre pausieren müssen.

Jedenfalls vielen Dank !!!
Peter Steffens
  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 22:15 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