AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi UIB, TJvUIBQuery, FieldByName
Thema durchsuchen
Ansicht
Themen-Optionen

UIB, TJvUIBQuery, FieldByName

Ein Thema von hoika · begonnen am 7. Aug 2007 · letzter Beitrag vom 8. Aug 2007
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

UIB, TJvUIBQuery, FieldByName

  Alt 7. Aug 2007, 21:43
Datenbank: FB • Version: 1.5 • Zugriff über: UIB
Hallo #,

ich versuche gerade per UIB auf eine FBDB zuzugreifen,
mit Erschrecken stelle ich fest,
dass die TJvUIBQuery kein FieldByName,
sondern nur ein Fields['field_name'] kann.

Ich will eine alte BDE-Anwendung umbauen,
und benutze dazu Bridge-Pattern.

Ich kann doch jetzt nicht alle FieldByName umändern ! ,
zumal die App als Bde-App noch ein bisserl laufen muss ;(


Da ich eh eine eigene Klasse abgeleitet habe,
die intern eine (TJvUIBQuery)-Klasse benutzt,
kann ich schon noch rumbauen.

Die Frage ist,
wie kann ich in einer übergeleiteten Klasse
FieldByName definieren, dass es wie die Bde-Klasse funktioniert ?

Bsp: (TCommonQuery ist eine abstrakte Query-Klasse)

Delphi-Quellcode:
type
  TUIBQuery = class(TCommonQuery)
    private
      FQuery : TJvUIBQuery;
    public
      procedure Open;
      function FieldByName ... ????

procedure TUIBQuery.Open;
begin
  FQuery.Open;
end;
Wie soll ich denn vorgehen ?

Ich kann vor Ärger gar nicht denken ;( ,
wie können die sowas einfach weglassen ????

Das IB kein TDataSet hat, ist klar,
aber wie denken die sich den Umstieg einer Bde-Anwendung ???


Heiko
Heiko
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: UIB, TJvUIBQuery, FieldByName

  Alt 7. Aug 2007, 22:29
Hallo,

so ein bissel weiter im Quellcode-Studium.

Der Eintrittspunkt ist bei der Query.Fields[Name] ja

Result := GetAsVariant(GetFieldIndex(Name));


Es muss doch gehen, dass man das irgendwie abstrakter
auf eine FieldByName umbauen kann ???

overload klappt ja nicht,
weil ja nur der Feldname übergeben wird.

Da kann ich ja gleich die Bde nachbauen !

Jetzt muss ich mir erst mal FIBPlus reinziehen.


UIB fällt hier ja komplett aus.


Heiko
PS:
jclSchedule ist unvollständig, UIB ist unvollständig.
Haben die überhaupt was, was funktioniert ?
(Tschulligung, bin etwas sauer)
Heiko
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: UIB, TJvUIBQuery, FieldByName

  Alt 7. Aug 2007, 22:44
Hallo hoika,

liefert den Fields[] nicht den Datentyp TField?

FieldByName sieht doch so aus...
function FieldByName(const FieldName: string): TField; Edit: oder gibt es in der Komponente irgendwas was TField liefert?

Gruss
Thorsten
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: UIB, TJvUIBQuery, FieldByName

  Alt 7. Aug 2007, 23:11
Hallo,

TField ist Teil der Bde (TDataSet).

Fields liefert einen TSQLResult,
dessen default dann auf obigen GetAsVariant verweist.
Somit ist das Query.Fields[] möglich.
Sie dachten wohl, einfache Umgehung des TDataSets ...


Das dumme ist, dass der Feldtyp erst nach dem Open
zur Verfügung steht, naja, dafür muss er nicht wie bei der Bde
vorher geladen werden.

Ich suche jetzt also nach der Möglichbeit,
das FieldByName "irgendwie" zu simulieren.

Im Netz stand was von AlexsDataSet (ThirdParty),
habe ich mir runtergezogen,
aber so richtig ist das nix halbes und nix ganzes.

Wenn schon bei den einfachsten Sachen Probleme auftauchen,
was soll ich bei anderen machen ?

Hat denn keiner ne brauchbare, einfach zu benutzende BDE-Alternative,
"zu benutzende" im Sinne, kann man über bridge-Pattern benutzen.

Naja, IBObjects geht ja, aber ich will die Bde seeehr einfach ersetzen.


Heiko
Heiko
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: UIB, TJvUIBQuery, FieldByName

  Alt 8. Aug 2007, 06:42
Am besten auf die Original-UIB-Komponenten wechseln. Die Weiterentwicklung der JVCL-Version wurde eingestellt.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: UIB, TJvUIBQuery, FieldByName

  Alt 8. Aug 2007, 06:46
Hallo,

da hatte ich mich nicht richtig ausgedrückt,
es handelt sich um die prodigy UIB's,
aktuell 2.1.


Heiko
Heiko
  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 04:31 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