Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi IBDatabase und Loginprompt (https://www.delphipraxis.net/102779-ibdatabase-und-loginprompt.html)

dor557 4. Nov 2007 19:33

Datenbank: Firebird • Version: 2.0.1 • Zugriff über: IB Komponenten

IBDatabase und Loginprompt
 
Habe folgende Frage.

Wenn ich eine Datenbank beim Programmstart connecten möchte dann kann ich ja mit der eigenschaft ein / ausschalten :
Delphi-Quellcode:
  IBDatabase1.LoginPrompt := false
Kann ich wenn der wert auf True sitzt die eingegebenen Daten (User_name / password) auslesen ?? oder muss ich da meine Eigene methode benutzen und ein Eigenes LoginPrompt erstellen !?

Danke für eure Tipps....

Bernhard Geyer 4. Nov 2007 19:35

Re: IBDatabase und Loginprompt
 
Username ja (über passenden SQL-Befehl), Passwort hoffentlich nicht (außer es liegt in irgendwelchen Properties der Delphi-Komponenten vor).

dor557 4. Nov 2007 19:43

Re: IBDatabase und Loginprompt
 
Es geht darum :

Wenn der user in der Firebird datenbank anerkannt ist soll er auch berechtigt sein eine datenbank zu estellen welche ich mit einem Script ausführen lasse.

nur wenn das Passwort richtig ist versteht sich.

wenn nicht geht das ja sowiso nicht und ich bekomme eine Exception....

Sprich beim start wird die datenbank versucht zu öffnen.

Geht das nicht da die Datenbank datei nicht existiert (Exception) wir der Benutzer gefragt ob er eine erstellen möchte.

nun ist es ja sowohl für das erstellen und das einloggen notwendig das der user dem FB Server bekannt ist. wenn nicht kommt eine Exception mit Dem Error Code 152. somit wird der user gefragt ob er das erneut versuchen möchte.

Problem : Wenn ich die Datenbank mit hilfe von IBScript anlegen möchte und den Benutzernamen und das passwort eintragen möchte kann ich das ja schlecht wenn es nicht benutzen kann bzw. auslesen beim Login von IBDatabase denn solange keine DB existiert komme ich so oder so nicht dran...

jemand einen Rat oder vorschlag ?

Edit : Tippfehler

mkinzler 4. Nov 2007 19:53

Re: IBDatabase und Loginprompt
 
Eigener Logindialog

dor557 4. Nov 2007 19:55

Re: IBDatabase und Loginprompt
 
Sprich also Selbst erstellen....

mkinzler 4. Nov 2007 19:56

Re: IBDatabase und Loginprompt
 
Ja macht ja auch mehr her als den Standard-Dialog der Komponentensammlung

dor557 4. Nov 2007 20:02

Re: IBDatabase und Loginprompt
 
Ok. Also Eigene Creation :)

danke bis die Tage !!

Gruss Sascha

Faxman 7. Nov 2007 16:11

Re: IBDatabase und Loginprompt
 
hallo sascha,

schaue dir mal die JvLoginDialog komponente aus der Jeti komponentensammlung an
die sollte das alles händeln.

schöne grüße,

dor557 8. Nov 2007 19:14

Re: IBDatabase und Loginprompt
 
Die DBConnection Componente hat das auch Automatisch....

Nur sieht die warscheinlich auch nicht so super aus !! Oder !?

dor557 8. Nov 2007 21:35

Re: IBDatabase und Loginprompt
 
So nun Folgende lösung, aber dennoch ein Problem was ich nicht verstehe !! :

Ich habe Folgende Function Geschrieben :

Delphi-Quellcode:
function TstartProcess.Login_Panel : Integer;
begin
  try
    SendMessage(handle, CM_ACTIVATE, 0, 0);
    ModalResult := 0;
    repeat
      Application.HandleMessage;
      If Application.Terminated Then ModalResult := mrCancel else
        if ModalResult <> 0 then LoginPanel.Visible := false;
    until ModalResult <> 0;
    Result := ModalResult;
    SendMessage(Handle, CM_DEACTIVATE, 0, 0);
  finally
  end;
end;
Diese als Public unter dem SplashScreen eingesetzt. (Bei mir nennt sich das StartProcess wie man sieht...

Dann habe ich einen Button darauf gesetzt der das ModalResult mrOK zurückgibt.

Wenn ich bei der Programmierung das Panel auf :

Delphi-Quellcode:
visible := true;
setze dann wird das angezeigt und ich kann in der Oben angezeigten procedure folgenden code mit hinzufügen :

Delphi-Quellcode:
....
begin
  MainProcess.LoginPanel.Visible := false;
  try
....
und das Panel verschwindet und ist unsichtbar.

Nur umgekehrt... das es erst sichtbar gemacht wird geht nicht !! hat dafür jemand eine Erklärung ??

PS: die funktion rufe ich genauso auf wie die ShowModal funktion bei mir in dem Fall :

Delphi-Quellcode:
case startProcess.Login_Panel of
  mrOK : ShowMessage('Das Modale Panel Funktioniert');
  mrCancel :;
end;
Hat jemand eine mögliche Lösung in dem Fall ??

Gruss Sascha


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