Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TFDQuery Select - Ermitteln ob ein Feld Berechnet ist ( Computed Field ) (https://www.delphipraxis.net/199860-tfdquery-select-ermitteln-ob-ein-feld-berechnet-ist-computed-field.html)

Emwykey 26. Feb 2019 15:27

AW: TFDQuery Select - Ermitteln ob ein Feld Berechnet ist ( Computed Field )
 
Zitat:

Zitat von Union (Beitrag 1426456)
Lässt Du von FireDAC die Metadaten einlesen?

Vermutlich nicht .. das sagt mir grad zumindest nichts, wie geht das denn?

Union 26. Feb 2019 15:35

AW: TFDQuery Select - Ermitteln ob ein Feld Berechnet ist ( Computed Field )
 
Delphi-Quellcode:
TFDConnection1.Params.Add('ExtendedMetaData=True');

Delphi.Narium 26. Feb 2019 16:21

AW: TFDQuery Select - Ermitteln ob ein Feld Berechnet ist ( Computed Field )
 
Zitat:

Zitat von Emwykey (Beitrag 1426453)
Zitat:

Zitat von Delphi.Narium (Beitrag 1426448)
Und was verbirgt sich hinter !Tabelle?

Mal ein Createstatement, damit man 'nen Vorstellung davon bekommt, was gemeint sein könnte?


Dahinter verbirgt sich der Name einer Tabelle, die an die Funktion übergeben wird, da die Funktion dann für viele verschiedene Tabellen aufgerufen wird. Das wird dann mit der Funktion MacroByName( 'Tabelle' ).AsRaw := fTableName komplettiert ;)

Das ist wohl absolut klar.

Mich interessiert ein Createstatement so einer Tabelle, damit man eine Vorstellung davon bekommt, wie die berechneten Felder datenbanksseitig entstehen, um ausgehend von einer konkret existierenden Tabelle Rückschlüsse auf eine allgemeingültige Regel ziehen zu können.

Sherlock 26. Feb 2019 16:26

AW: TFDQuery Select - Ermitteln ob ein Feld Berechnet ist ( Computed Field )
 
Zitat:

Zitat von Emwykey (Beitrag 1426454)
Zitat:

Zitat von Sherlock (Beitrag 1426450)
Quark, kann weg.

Sorry

Sherlock

muss ich das jetzt verstehen?

Neee, aber vielleicht ein Moderator ;-)

Emwykey 26. Feb 2019 16:36

AW: TFDQuery Select - Ermitteln ob ein Feld Berechnet ist ( Computed Field )
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1426460)
Zitat:

Zitat von Emwykey (Beitrag 1426453)
Zitat:

Zitat von Delphi.Narium (Beitrag 1426448)
Und was verbirgt sich hinter !Tabelle?

Mal ein Createstatement, damit man 'nen Vorstellung davon bekommt, was gemeint sein könnte?


Dahinter verbirgt sich der Name einer Tabelle, die an die Funktion übergeben wird, da die Funktion dann für viele verschiedene Tabellen aufgerufen wird. Das wird dann mit der Funktion MacroByName( 'Tabelle' ).AsRaw := fTableName komplettiert ;)

Das ist wohl absolut klar.

Mich interessiert ein Createstatement so einer Tabelle, damit man eine Vorstellung davon bekommt, wie die berechneten Felder datenbanksseitig entstehen, um ausgehend von einer konkret existierenden Tabelle Rückschlüsse auf eine allgemeingültige Regel ziehen zu können.

Aah mein Fehler, sorry :-D


ein Konkretes beispiel kann ich dir leider nicht geben aber eines der Felder ist zum Beispiel so erstellet:

Code:
ALTER TABLE TABELLE1 ADD FELD1 Integer
COMPUTED BY
(
IIF( TABELLE1.FELD1 <> 0,
     TABELLE1.FELD1,
     ( Select
       TABELLE2.FELD1 
       FROM TABELLE2
       WHERE TABELLE2.FELD2 = TABELLE1.FELD2
     )
  )
)

Delphi.Narium 26. Feb 2019 16:53

AW: TFDQuery Select - Ermitteln ob ein Feld Berechnet ist ( Computed Field )
 
Tabelle1 und Feld1 sind dann wohl mal Beispiele.

Wenn es über die Metadaten nicht gehen sollte, habt ihr irgendwelche Namenskonventionen? Auch wenn das nicht unbedingt sehr schön ist, aber darüber ließe sich das dann eventuell lösen.

hoika 26. Feb 2019 18:07

AW: TFDQuery Select - Ermitteln ob ein Feld Berechnet ist ( Computed Field )
 
Hallo,
aus der Query selbst kannst Du das nicht bestimmen.

CalcField und InternalCalcField funktionieren wohl nur bei ClientDataSets
https://www.delphipraxis.net/171017-...calcfield.html

Union 26. Feb 2019 18:15

AW: TFDQuery Select - Ermitteln ob ein Feld Berechnet ist ( Computed Field )
 
Aber Readonly bzw. not CanModify sollte es doch wohl sein?
Zitat:

Zitat von Microsoft Doc
Eine berechnete Spalte kann nicht das Ziel einer INSERT- oder UPDATE-Anweisung sein.


hoika 26. Feb 2019 19:49

AW: TFDQuery Select - Ermitteln ob ein Feld Berechnet ist ( Computed Field )
 
Hallo,
warum sollte es das (ReadOnly).

Das würde ja heißen, dass die Query ja die DB fragen muss.
Das kostet doch extra und i.d.R. will ich das ja gar nicht wissen.

p80286 26. Feb 2019 21:38

AW: TFDQuery Select - Ermitteln ob ein Feld Berechnet ist ( Computed Field )
 
Zitat:

Zitat von Union (Beitrag 1426471)
Aber Readonly bzw. not CanModify sollte es doch wohl sein?
Zitat:

Zitat von Microsoft Doc
Eine berechnete Spalte kann nicht das Ziel einer INSERT- oder UPDATE-Anweisung sein.


Und was ist mit den "nicht updatefähigen Views"? Gut man könnte das auch als "berechnet" ansehen...

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:47 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz