Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Resultset bei Stored Procedures so möglich? (https://www.delphipraxis.net/156804-resultset-bei-stored-procedures-so-moeglich.html)

stho 15. Dez 2010 14:13

Datenbank: MySQL • Version: 5.0 • Zugriff über: TMyDAC

Resultset bei Stored Procedures so möglich?
 
Nachdem ich mich nun zum Thema Stored Procedures ein bisschen schlau gemacht habe,
würde ich gerne folgendes wissen, ob das was ich vor habe mit SPs funktioniert oder nicht.
Meine Abfrage ist:

SELECT * FROM TABLE1
WHERE X = PosX AND Y = PosY;

-> Ich will also wissen welche Objekte (Mehrzahl) sich an der Position X/Y befinden.
(Da kommen noch ein paar mehr Abfragen hinzu, aber das ist nebensächlich)

Kann man das ganze auch als SP hinterlegen und dann eine Ergebnis-Tabelle zurückbekommen, genau wie bei
dem gesendeten Statement?

Als Beispiel: "Call GetObjOn(X, Y)"
(Hierbei habe ich gerade nicht auf Syntax geachtet)

Thom 15. Dez 2010 14:52

AW: Resultset bei Stored Procedures so möglich?
 
Zitat:

Zitat von stho (Beitrag 1068685)
Kann man das ganze auch als SP hinterlegen und dann eine Ergebnis-Tabelle zurückbekommen, genau wie bei
dem gesendeten Statement?

Ja.
Code:
create procedure GetObjOn(PosX int(10),  //oder welcher Typ auch immer
                          PosY int(10))
begin
  SELECT * FROM TABLE1
  WHERE X=PosX AND Y=PosY;
end;

stho 15. Dez 2010 15:08

AW: Resultset bei Stored Procedures so möglich?
 
und als Rückgabewert bekomme ich dann meine Tabelle?
Ist das wirklich so simpel? :shock:

Also im Prinzip nur:

Delphi-Quellcode:
aQuery.SQL.Text := 'GetObjOn(:PosX, :PosY)';
aQuery.ParamByName('PosX').asInteger := 1;
aQuery.ParamByName('PosY').asInteger := 4;
aQuery.Open;
//...
???

idefix2 15. Dez 2010 15:13

AW: Resultset bei Stored Procedures so möglich?
 
Ich versteh schon, dass man hier im Forum fragt, wenn man bei einem Problem nicht weiterkommt, dazu ist es da und immer wieder sehr hilfreich.

Aber wie wäre es, in so einem Fall, mit erst einmal ausprobieren und danach, wenn es nicht funktioniert, posten.

Sir Rufo 15. Dez 2010 15:17

AW: Resultset bei Stored Procedures so möglich?
 
Nee, fragen geht doch schneller ... na ja, eigentlich nicht
... aber es ist effizienter ... nee, eigentlich auch nicht
... aber man hat drüber gesprochen ... ja, zum x-ten mal
:mrgreen:

achja, da war noch was Hier im Forum suchenstored procedure result

Thom 15. Dez 2010 16:14

AW: Resultset bei Stored Procedures so möglich?
 
Zitat:

Zitat von stho (Beitrag 1068694)
Ist das wirklich so simpel?

Ja.

Allerding müßte da noch ein "call" mit rein:
aQuery.SQL.Text := 'call GetObjOn(:PosX, :PosY)';

stho 16. Dez 2010 13:37

AW: Resultset bei Stored Procedures so möglich?
 
das hatte nichts mit Faulheit oder ähnlichem zu tun...
Ich HABE mich informiert und wollte hier nur eine konkrete Antwort, da die bisherigen Antworten
in meinen Augen nicht komplett ersichtlich waren :(
Außerdem wurde in fast jedem Beispiel immer nur ein Boolean oder Integer zurückgeliefert.
Teilweise waren sogar Fehlermeldungen wie "Query/Table not allowed as result" (Habs nicht mehr genau im Kopf) zu lesen.
Das war der ganze Grund...

-> Ein Schüler fragt den Lehrer auch nach einer Lösung wenn er nicht alleine darauf kommt. Oder?

Sir Rufo 17. Dez 2010 09:39

AW: Resultset bei Stored Procedures so möglich?
 
Wahrscheinlich ist es dir noch nicht aufgefallen:

Wir sind keine Lehrer mit einem Lehrauftrag!
Somit muß der Lehrer dir das erklären und wir dürfen dir das erklären.
Wir erwarten aber auch Eigeninitiative.

Du hast nicht durchblicken lassen, dass du dich mit SP und Resultset hinreichend auseinandergesetzt/ausprobiert hast.
Sonst hättest du uns ja Delphi-Code mitgeliefert.

Also immer den Ball flach halten

achja, da fällt mir doch noch auf, dass es sich hier mehr um eine Glaubens- als eine Verständnisfrage handelt.
Somit wäre das ja eh was für Religionslehrer gewesen ...
"Kann es sein dass hier Religionslehrervolk anwesend ist?" - "Nein, Nein ..."

Thom 17. Dez 2010 13:07

AW: Resultset bei Stored Procedures so möglich?
 
Zitat:

Zitat von stho (Beitrag 1068886)
das hatte nichts mit Faulheit oder ähnlichem zu tun...
-> Ein Schüler fragt den Lehrer auch nach einer Lösung wenn er nicht alleine darauf kommt. Oder?

Laß Dich nicht provozieren, stho: In Foren (nicht nur diesem) ist es schon lange Unsitte, daß sich eine Reihe von Leuten wie in "Mein Revier" verhalten: Markieren (Hunde machen das, indem sie ihre Duftmarke hinterlassen) und andere auf ihre "Fehler" hinweisen (Hunde kläffen).
Häufig liest man bei "Neulinge" schon vor der eigentlichen Frage die Entschuldigung dafür, daß sie ihre Frage evtl. im falschen Thema gestellt haben oder sie trotz Suche nicht weitergekommen sind.
Oft wird von den "Profis" nicht auf die eigentliche Frage geantwortet, sondern lieber wortreich darüber diskutiert, wie sinnvoll die Fragestellung war. Von dem Spruch Es gibt keine dummen Fragen, sondern nur dumme Antworten. haben wohl einige noch nichts gehört oder ihn einfach in das "Temp-Verzeichnis" ihres Gehirns verbannt. Im Suchpfad sind dagegen nur die ständig verwendeten Units "Recht.pas" und "Ordnung.pas"... :-D

Zitat von der Portalseite:
Zitat:

Ein herzliches Willkommen in der freundlichen Entwickler-Community...
@Sir Rufo
Zitat:

Wahrscheinlich ist es dir noch nicht aufgefallen:

Wir sind keine Lehrer mit einem Lehrauftrag!
Somit muß der Lehrer dir das erklären und wir dürfen dir das erklären.
Wir erwarten aber auch Eigeninitiative.

Du hast nicht durchblicken lassen, dass du dich mit SP und Resultset hinreichend auseinandergesetzt/ausprobiert hast.
Sonst hättest du uns ja Delphi-Code mitgeliefert.

Also immer den Ball flach halten...
Auch Lehrer erwarten Eigeninitiative. Sollte zumindest so sein.
Und sie sollten Geduld und Verständnis mitbringen. Im Optimalfall. Und das nicht, weil sie dafür bezahlt werden, sondern weil es dazugehört.
Wenn ich mehr weiß, als ein anderer, muß ich ihm das nicht unter die Nase reiben. Natürlich ist die Hilfe freiwillig. Aber kann oder will ich nicht antworten, lasse ich das einfach sein und kläffe nicht herum - nur um wenigstens irgend etwas von mir gegeben zu haben.

Die Bemerkung "Also immer den Ball flach halten..." ist anmaßend und beleidigend. Und ich denke, das widerspricht ebenfalls den Forenregeln - oder täusche ich mich? 8-)

Aber ich denke, man(n) sollte eine gewisse Art von Höflichkeit nicht nur deshalb verwenden, weil sie in irgendwelchen Regeln stehen, sondern deshalb, weil es das Miteinander wesentlich erleichtert.
Nicht nur im Internet, sondern auch im "richtigen" Leben... :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 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