IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Probleme avec l'exception EOleException lors qu'une connexion Ado à un serveur


Sujet :

Bases de données Delphi

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ts
    Inscrit en
    Mai 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ts
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Probleme avec l'exception EOleException lors qu'une connexion Ado à un serveur
    Tout d'abord, je m'excuse si ma réponse est mal organisée, en fait c'est pas une réponse mais une autre question dans le même sujet. Mon problème est le suivant:
    J'ai fait un mini projet sur la gestion de stock, la facturation et ... Qui contient plusieurs fiches, la première fiche est une fiche de login, Ou l'utilisateur peux choisir le mode d'authentification ( Windows / SQL server ). Dans le deuxième mode il doit introduire le ''User Name'' Avec ou sans mot de passe puis il clique sur le bouton Se connecter pour qu'il peut entrer à l'application si il ...
    Donc j'ai une application ( Delphi ) et une BD sous SQL Server. La connexion entre ces deux se fait par l'intermédiaire de TADOConnection... Mon problème c'est que lorsque la connexion est établie et si le ''User Name'' et/ou mot de passe est/sont incorrect(e)(s), une exception EOleException s'est produite avec le message 'Login failed for user "..."', sachant que j'ai spécifié le traitement pour cette exception dans l'évènement OnClick de bouton Se connecter, voila le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    procedure TUsers.BitBtn1Click(Sender: TObject); // L'événement OnClick de bouton Se connecter ( BitBtn1 ) de la fiche de login ( Users )
    begin
    If Edit2.Visible Then      // C'est la ou l'utilisateur introduit le mot de passe "Qui peut être non spécifié"
       If Edit2.Text='' Then
          DataModule1.ADOConnection1.ConnectionString:= 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID='+Edit1.Text+
                                                                                    ';Initial Catalog=Gestion des commandes;Data Source=SED7EN;'+
                                                                                    'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;'+
                                                                                    'Workstation ID=SED7EN;Use Encryption for Data=False;'+
                                                                                    'Tag with column collation when possible=False'
       Else
          DataModule1.ADOConnection1.ConnectionString:= 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID='+Edit1.Text+
                                                                                    ';Password='+Edit2.Text+';Initial Catalog=Gestion des commandes;'+
                                                                                    'Data Source=SED7EN;Use Procedure for Prepare=1;Auto Translate=True;'+
                                                                                    'Packet Size=4096;Workstation ID=SED7EN;Use Encryption for Data=False;'+
                                                                                    'Tag with column collation when possible=False';
    Try
         DataModule1.ADOConnection1.Open;
         Form1.ShowModal; // La fiche principale de l'application
         Users.Close; // La fermiture de la fiche de login
    Except On E : EOleException Do
         Begin
                 DataModule1.ADOConnection1.Connected:=False;
                 If MessageDlg('Vous n''avez pas le droit d''acces',mtWarning,[mbRetry,mbCancel],0)=MrCancel Then
                    Exit
                 Else
                    Begin
                            Users.Show;
                            Edit1.Text:='';
                            Edit2.Clear;
                    End;
         End;
    End;
    end;
    Mais l'erreur [Le projet Gestion.exe a provoqué une classe d'exception EOleException avec le message 'Login failed for user '...''. Processus ...] Continue à émerger
    Donc ma question est : comment faire pour que cette erreur dialogue n'apparu jamais et pour que le code de la clause Except vient d'être réalisé

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Je ne suis pas sur qu'il y ait besoin de ce test sur le password mais peu importe la question n'est pas là.

    Faites vous ces tests en mode Debug ou en mode Exécution ?
    S'il s'agit du mode Debug il se peut tout simplement que c'est parce que dans les options du Débogueur de l'EDI (Quelle version de Delphi ?)
    l'option arrêter sur exception Delphi est cochée (onglet exception du langage pour D7)

    Je ne sais si ADO est un choix voulu/imposé ou forcé par la version de Delphi mais savez vous qu'il existe d'autres moyens d'utiliser SQLServer sans passer par OLE ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. probleme avec l'exception de type NullPointerException
    Par darkdindon dans le forum Langage
    Réponses: 1
    Dernier message: 26/03/2007, 05h27
  2. Probleme avec plus de 50 composants dans une form
    Par dalton5 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 18/02/2007, 19h23
  3. Probleme d'acces aux données lors d'une de jointure
    Par FlyByck dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/12/2005, 13h59
  4. probleme avec la PORTE DE VIE D'UNE VARIABLE EN PHP
    Par stomerfull dans le forum Langage
    Réponses: 1
    Dernier message: 09/12/2005, 14h19
  5. probleme avec la PORTE DE VIE D'UNE VARIABLE EN PHP
    Par stomerfull dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2005, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo