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 :

Chaine de connexion ADO


Sujet :

Bases de données Delphi

  1. #1
    Membre actif Avatar de liazidf
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2002
    Messages : 281
    Points : 261
    Points
    261
    Par défaut Chaine de connexion ADO
    [delphi 7-ADO]
    Salut,
    Comment faire pour eviter le message d'erreur exception, quand le composant Adoconnection ne contient la chaine de connection, car je laisse à l'utilisateur de choisir la base de données au lancement de l'application.

  2. #2
    Membre averti
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Points : 338
    Points
    338
    Par défaut
    Je ne sais pas si j'ai bien compris, mais je pense que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if Trim(ADOConnection1.ConnectionString) = '' then
        ShowMessage('Chaine de connection vide');
    suffira.

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Essaie un truc comme cela pour te donner une idée.

    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
     
    function TForm1.canConnect: boolean;
    begin
      try
        ADOConnection1.Open;
        Result := True;
      except
        ADOConnection1.ConnectionString :=
            PromptDataSource(0, ADOConnection1.ConnectionString);
        try
          ADOConnection1.Open;
          Result := True;
        except
          Result := False;
        end;
      end;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if not canConnect
        then showMessage('non connecté')
        else showMessage('connecté');
    end;
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  4. #4
    Membre actif Avatar de liazidf
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2002
    Messages : 281
    Points : 261
    Points
    261
    Par défaut
    Citation Envoyé par Pascal Jankowski Voir le message
    Essaie un truc comme cela pour te donner une idée.

    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
     
    function TForm1.canConnect: boolean;
    begin
      try
        ADOConnection1.Open;
        Result := True;
      except
        ADOConnection1.ConnectionString :=
            PromptDataSource(0, ADOConnection1.ConnectionString);
        try
          ADOConnection1.Open;
          Result := True;
        except
          Result := False;
        end;
      end;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if not canConnect
        then showMessage('non connecté')
        else showMessage('connecté');
    end;

    Bonjour,
    Merci de vos réponses, mais je crois que je me suis pas bien expliqué, en fait le message s'affiche au lancement du programme, au mement ou la propriété ConnectionString, est encore vide, je ne saisi pas delphi accepte ce genre de chose, car elle ne sera remplie qu'une fois le menu affiché, pour le reste voilà ce que j'ai mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TFMenu.SpeedButton1Click(Sender: TObject);
    begin
    DM1.ADOConnection1.Connected:=false;
      if opendialog1.Execute then
       begin
        sChaine:=(opendialog1.FileName);
        DM1.ADOConnection1.ConnectionString:=sChaine;
        DM1.ADOConnection1.Connected:=true;
       end;
     
    end;
    .

  5. #5
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Citation Envoyé par liazidf Voir le message
    Bonjour,
    en fait le message s'affiche au lancement du programme, au moment ou la propriété ConnectionString, est encore vide, je ne saisi pas delphi accepte ce genre de chose, car elle ne sera remplie qu'une fois le menu affiché, pour le reste voilà ce que j'ai mis:
    Est-ce que le composant TADOConnection en question est actif en design time ?
    Si c'est le cas alors il faut passer sa propriété Active à False dans l'inspecteur d'objet. Il faut aussi s'assurer que l'activation du composant s'effectue bien une fois le menu affiché, puis recompiler et exécuter.

    Indique moi ce que tu obtiens...
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  6. #6
    Membre averti
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Points : 338
    Points
    338
    Par défaut
    Il faut constituer toute ta chaine de connexion.
    En supposant que tu utilises une base de données MSACCESS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TFMenu.SpeedButton1Click(Sender: TObject);
    begin
      DM1.ADOConnection1.Connected:=false;
      if opendialog1.Execute then
      begin
        sChaine:=(opendialog1.FileName);
        DM1.ADOConnection1.ConnectionString :=
          'Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=' + sChaine;
        DM1.ADOConnection1.Connected:=true;
      end;
    end;

  7. #7
    Membre actif Avatar de liazidf
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2002
    Messages : 281
    Points : 261
    Points
    261
    Par défaut
    Salut,
    Effectivement, le problème venait, d'une table qui été en mode active, donc le problème est résolu, ceci dit ça ma permis de connaitre les diffrentes solutions pour la connection.
    Merci à tous.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/07/2011, 15h16
  2. Mot de passe et chaine de connexion ADO
    Par redoran dans le forum Composants VCL
    Réponses: 3
    Dernier message: 29/12/2010, 16h50
  3. Chaine de connexion ADO pour MySQL
    Par [DreaMs] dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2006, 11h43
  4. Chaine de connexion ADO
    Par stef_445 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/02/2006, 15h07
  5. ADO et chaine de connexion
    Par desperado dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/08/2004, 11h40

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