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 :

[ADO] Construire la liste des providers OLE BD installés


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 10
    Points : 9
    Points
    9
    Par défaut [ADO] Construire la liste des providers OLE BD installés
    Bonjour je cherche un moyen pour remplir une liste déroulante (TCombobox) par la liste des providers OLE DB installés sur la machine.

    Exemple : Dans l'objet TADOConnection la propriété provider est une liste de tous les providers disponibles sur la machine.

    Hors le code pour cette propriété est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        property Provider: WideString read GetProvider write SetProvider stored IsProviderStored;
    Le type du provider est donc une chaîne, alors qu'une liste est affichée. J'ai beau chercher dans le code source de la VCL, je ne trouve pas où cette liste est crée.

    Quelqu'un aurait-il une idée ?

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Va voir dans l'unité AdoConEd (pas sur que l'acces soit possible).

    Sinon avec cette unité, il te suffit d'utiliser la commande EditConnectionString(AdoConnection : TAdoConnection), pour avoir le système de création de chaine de connexion pour l'ado.

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Merci de ta réponse je vais voir ça. Sinon j'ai trouvé une méthode "cachée" dans la unit ADODB :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure GetProviderNames(Names: TStrings)
    Cette méthode n'est pas publiée donc pas accessible de l'extérieur. Un copier-coller dans une unit perso permet de l'utiliser normalement.

    Note : Cette méthode utilise une autre méthode non publiée présente dans la même unit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function CreateADOObject(const ClassID: TGUID): IUnknown
    et nécessite les uses suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ADODB, OLEDB, ADOInt, DB, Classes, ActiveX, Windows, SysUtils, AdoConst, ComObj
    Perso je n'ai pas vraiment compris comment ça marche, mais le principal c'est que ça marche

Discussions similaires

  1. [PowerShell] Afficher la liste des patchs disponibles à l'installation
    Par adyr94 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 06/06/2014, 19h02
  2. Construire la liste des valeurs d'une combo
    Par MadMax4 dans le forum Ext JS / Sencha
    Réponses: 5
    Dernier message: 04/12/2010, 14h26
  3. Ajouter un nouveau provider dans la liste des providers dans MS SQL
    Par charlesdg dans le forum Développement
    Réponses: 2
    Dernier message: 25/05/2010, 12h39
  4. Liste des drivers "twain" d'installés ?
    Par Hujii dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/07/2009, 09h31

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