AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ADOQuery und AdoStoredProc kapseln

Ein Thema von Sploing · begonnen am 10. Mär 2015 · letzter Beitrag vom 10. Mär 2015
Antwort Antwort
Sploing

Registriert seit: 10. Mär 2015
Ort: Niedersachsen
4 Beiträge
 
Delphi XE7 Professional
 
#1

ADOQuery und AdoStoredProc kapseln

  Alt 10. Mär 2015, 10:22
Moin liebe Experten,

ich hänge gerade an einem Problem fest, bei dem ich nicht sicher bin ob es eine Lösung gibt Vielleicht kennt ihr da den entscheidenden Tip?
Es geht um MS-SQL Datenbankzugriffe über ADO.
Entweder enthalte ich das Ergebnis aus einer ADOQuery:
Delphi-Quellcode:
ADOQuery.First
ADOQuery.Fields.Fields[0].AsString;
oder als Ergebnis des Aufrufs einer Stored Procedure:
Delphi-Quellcode:
StoredProc := TADOStoredProc.Create(self);
...ausführen...
StoredProc.First;
StoredProc.Fields.Fields[0].AsString;
Soweit ich sehen kann wird mit genau den selben Befehlen auf diese unterschiedlichen Recordsets zugegriffen. Nun schreibe ich gerade an verschiedenen Funktionen, die mal Daten von einer Stored Procedure und mal Ergebnisdaten von einem ADOQuery bekommen sollen und würde diese Ergebnisse gerne abkapseln.

Ungefähr so:
Delphi-Quellcode:
function TfrmSQL.DBResult(is_adoquery_not_sprecordset: Boolean): Variant;
begin
  if is_adoquery_not_sprecordset then
    result := ADOQuery AS AdoStoredProc;
  else
    result := StoredProc;
end;
Variant geht natürlich nicht... Ungültive Typen 'variant' und 'TADOStoredProc'

Aufrufen würde ich das ganze dann gerne ungefähr so:
Delphi-Quellcode:
DBResult(True).First;
DBResult(True)..Fields.Fields[0].AsString;
Hoffe das war halbwegs verständlich ausgedrückt. Denke ich da jetzt gerade völlig falsch? Bin heute noch nicht so wach
Wäre über Tips dankbar
Chris
Gestern war das morgen von heute
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: ADOQuery und AdoStoredProc kapseln

  Alt 10. Mär 2015, 10:26
So ganz habe ich es noch nicht verstanden, aber beide Klassen stammen von TCustomADODataset ab, da böte sich dieser Typ als Rückgabewert an, oder?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Sploing

Registriert seit: 10. Mär 2015
Ort: Niedersachsen
4 Beiträge
 
Delphi XE7 Professional
 
#3

AW: ADOQuery und AdoStoredProc kapseln

  Alt 10. Mär 2015, 11:09
So ganz habe ich es noch nicht verstanden, aber beide Klassen stammen von TCustomADODataset ab, da böte sich dieser Typ als Rückgabewert an, oder?
Jaaaa, das ist es, funktioniert! Vielen Dank
... da hätte ich auch mal selber nachschauen können:
Delphi-Quellcode:
TADOStoredProc = class(TCustomADODataSet)
TADOQuery = class(TCustomADODataSet)
Chris
Gestern war das morgen von heute
  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 14:59 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