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

C++Builder Discussion :

Exception Interbase et data Module


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 82
    Points : 54
    Points
    54
    Par défaut Exception Interbase et data Module
    bonjour a tous,

    j'ai un petit probleme d'exceptions sur builder 5.0.
    j'ai creer un DataModule en y placant un TIBDatabase et TIBQuery TDatasource ...etc
    j'ai configuré TIBDatabase pour pouvoir se connecter a un SGBD interbase server
    donc j'ai remplis les champs du TIBDatabase comme indiqué dans l'aide du PDF (aide installation/configuration Interbase sur developpez.com).
    je voudrai intercepter l'erreur au moment ou je demarre l'application , c'est a dire l'erreur de connexion au server ... mais je ne trouve pas le nom de l'exception...
    car dasn le cas ou le server n'est pas allumer il met un message d'erreur à l'ouverture de l'application . un message d'erreur du type
    impossible d'etablir une connexion avec le server a l'adresse ip 192.168.1.2 , car le server l'expressement refusé."
    dois-je creer le datamodule et tous ses composant dynamiquement et faire un try catch sur la creation dynamique de ces objets ou une autre solution est envisageable ?

    quelqu'un sait m'aider ?
    merci d'avance?

  2. #2
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Points : 192
    Points
    192
    Par défaut
    Hello,

    je suis pas expert en la matière, mais voici comment j'intercepte une erreur de connexion chez moi (c'est une base MySQL mais ça devrait être pareil avec InterBase)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try {
          DM->ADOConn->Open() ; //j'ouvre la connexion à la bdd
          }
    catch (Exception &E)
            {
            AnsiString error = E.Message ;
            Application->MessageBox(error.c_str(), "Erreur d'accès aux données", MB_ICONWARNING | MB_OK);
            }
    J'espère que ça pourras t'aider...

    Steve

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 82
    Points : 54
    Points
    54
    Par défaut
    voila en fait je crée dynamiquelent TIBDatabase

    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
     
        TIBDatabase * IBDB = new TIBDatabase(Owner);
        IBDB->Connected=false;
        IBDB->DatabaseName="192.168.1.2:C:\GRESIBD.GDB";
        IBDB->Params->Add("user_name=SYSDBA");
        IBDB->Params->Add("password=masterkey");
        IBDB->Params->Add("lc_ctype=ISO8859_1");
        IBDB->LoginPrompt=false;
        IBDB->SQLDialect=3;
        IBDB->DefaultTransaction=CD->IBTransaction1;
        IBDB->Name="IBDB";
        IBDB->CreateDatabase();
        IBDB->Close();
        try
          {
           IBDB->Open();
          }
        catch(EIBInterBaseError &E)
          {
           AnsiString error = E.IBErrorCode ;
           Application->MessageBox(error.c_str(), "Erreur d'accès aux données", MB_ICONWARNING | MB_OK);
          }
    mais j'obtient toujours cette erreur
    Le projet test.exe a prooqué une classe d'exception EIBInterBaseError avec le message 'Unable to complete network request to host "192.168.1.2".
    Failed to establish a connection.
    Aucune connexion n'a pu etre etablie car l'ordinateur cible l'a expressement refusée. Processus stoppé

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 82
    Points : 54
    Points
    54
    Par défaut
    Haa non c bon, ca marche , ...
    Merci bcp Steve

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un container dans un data module
    Par apad dans le forum Composants VCL
    Réponses: 7
    Dernier message: 21/05/2008, 15h14
  2. Binding data Interbase/Firebird avec NetBeans 6
    Par kimlee dans le forum NetBeans
    Réponses: 4
    Dernier message: 31/01/2008, 10h52
  3. Intercepter une exception interbase
    Par Klemsy78 dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/04/2007, 19h27
  4. Réponses: 3
    Dernier message: 13/07/2006, 10h40
  5. A quoi ça sert d'utiliser les Data Modules?
    Par tipiweb dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/03/2006, 09h19

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