Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Klasse von fdquery ableiten (https://www.delphipraxis.net/209060-klasse-von-fdquery-ableiten.html)

fisipjm 20. Okt 2021 08:36

Delphi-Version: 10.4 Sydney

Klasse von fdquery ableiten
 
Hi,

ich stell mich glaub etwas doof an und hab vielleicht auch den falschen Ansatz zum lösen des Problems. Ich schildere mal was ich gern erreichen würde.

Ich hätte gerne eine separate klasse nenn wir sie mal TDatenZugriff diese soll der einfachheithalber von TFDQuery abgeleitet werden.
Ich bräuchte die Möglichkeit das Create zu ändern, ich möchte hier schon Benutzername und Passwort, oder auch nur Benutzername angeben können. Also eigentlich ein Overload. Das funktioniert in Kombination mit einem Override aber leider nicht.
Was ich am Ende haben will, ist im Prinzip eine fertig Connectete Query mit ein paar OnPost, OnEdit events und es soll beim Create schon geprüft werden ob der Benutzer existiert. Ich scheitere aber schon kläglich abn der Ableitung. Habt iht Tipps für mich?

Uwe Raabe 20. Okt 2021 09:11

AW: Klasse von fdquery ableiten
 
Solange du die Instanzen nur im Code erzeugst, kannst du den zusätzlichen
Delphi-Quellcode:
constructor
mit
Delphi-Quellcode:
reintroduce; overload;
deklarieren:
Delphi-Quellcode:
type
  TDatenZugriff = class(TFDQuery)
  private
    FPassword: string;
    FUsername: string;
  public
    constructor Create(const AUsername, APassword: string); reintroduce; overload;
  end;

constructor TDatenZugriff.Create(const AUsername, APassword: string);
begin
  Create(nil);
  FUsername := AUsername;
  FPassword := APassword;
end;

haentschman 20. Okt 2021 09:16

AW: Klasse von fdquery ableiten
 
Moin...:P
Zitat:

ich möchte hier schon Benutzername und Passwort, oder auch nur Benutzername angeben können.
:gruebel: Benutzername/Password (hoffentlich nicht im Klartext :zwinker:) in jeder Query? Ist da eine Vererbung von der Connection nicht besser?

PS: Oder reden wir nicht über die Zugangsdaten der DB? :gruebel:

fisipjm 20. Okt 2021 09:25

AW: Klasse von fdquery ableiten
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1496315)
Solange du die Instanzen nur im Code erzeugst, kannst du den zusätzlichen
Delphi-Quellcode:
constructor
mit
Delphi-Quellcode:
reintroduce; overload;
deklarieren:
Delphi-Quellcode:
type
  TDatenZugriff = class(TFDQuery)
  private
    FPassword: string;
    FUsername: string;
  public
    constructor Create(const AUsername, APassword: string); reintroduce; overload;
  end;

constructor TDatenZugriff.Create(const AUsername, APassword: string);
begin
  Create(nil);
  FUsername := AUsername;
  FPassword := APassword;
end;

Moin Uwe,

du bist diese Woche echt mein Lebensretter :-D Reintroduce war der schlüssel zum Erfolg, muss ich mir bei Gelegenheit mal näher anschauen.

fisipjm 20. Okt 2021 09:27

AW: Klasse von fdquery ableiten
 
Zitat:

Zitat von haentschman (Beitrag 1496316)
Moin...:P
Zitat:

ich möchte hier schon Benutzername und Passwort, oder auch nur Benutzername angeben können.
:gruebel: Benutzername/Password (hoffentlich nicht im Klartext :zwinker:) in jeder Query? Ist da eine Vererbung von der Connection nicht besser?

PS: Oder reden wir nicht über die Zugangsdaten der DB? :gruebel:

Ne Ne, die DB Connection steht schon, geht dabei eher um eine Art Rechtekonzept innerhalb der DB. Die Query darf nur gewisse Datensätze anzeigen, je nach Benutzer der sich einloggt. Aber um es in der Entwicklung einfach zu halten, hätte ich das gewurschtels halt gern in der Klasse geregelt, dann brauch man sich da nicht bei jeder Abfrage den Kopf drüber zerbrechen.

Uwe Raabe 20. Okt 2021 09:45

AW: Klasse von fdquery ableiten
 
Zitat:

Zitat von fisipjm (Beitrag 1496318)
du bist diese Woche echt mein Lebensretter

:)
Ich werde manchmal gefragt, ob ich nicht ein Buch über Delphi schreiben wolle, aber all das was ich schreiben könnte, steht doch schon irgendwo geschrieben.

haentschman 20. Okt 2021 10:12

AW: Klasse von fdquery ableiten
 
Zitat:

geht dabei eher um eine Art Rechtekonzept innerhalb der DB
..so eine Ahnung hatte ich dann schon beim Schreiben. :zwinker:

BerndS 20. Okt 2021 10:30

AW: Klasse von fdquery ableiten
 
Wenn es immer derselbe User sein sollte, könnte man der abgeleiteten Query auch class propertys hinzufügen.
Das würde einmalig gesetzt und muss das nicht wiederholt übergeben werden.

Sinspin 20. Okt 2021 11:00

AW: Klasse von fdquery ableiten
 
Das hängt natürlich von den Fähigkeiten der DB ab, aber wäre es nicht besser die Rechte an die Connection zu binden?
Ich mache das schon seit Jahren erfolgreich mit Session Variablen.
Jede Connection registriert sich selber beim öffnen für einen bestimmten Nutzer und alle Zugriffe die über diese Connection laufen sind dann dem Nutzer zuordenbar.

Rollo62 20. Okt 2021 16:10

AW: Klasse von fdquery ableiten
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1496321)
Ich werde manchmal gefragt, ob ich nicht ein Buch über Delphi schreiben wolle, aber all das was ich schreiben könnte, steht doch schon irgendwo geschrieben.

Dann schreib doch bitte einfach nur das Glossar von dem Buch, mit den ganzen Links :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:45 Uhr.
Seite 1 von 2  1 2      

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