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 :

DataSet et DataSource + loginprompt


Sujet :

C++Builder

  1. #1
    Membre �clair�
    Inscrit en
    Juin 2007
    Messages
    362
    D�tails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par d�faut DataSet et DataSource + loginprompt
    bonjour � tous !

    voila j'utilise un DBgrid pour afficher des infos d'une table, donc j'ai param�tr� un Datasource, avec son dataset (qui correspond soit � un TQuery soit � un TTable).

    Sauf que lorsque je veux lancer l'affichage des infos de la table, j'ai un loginprompt qui se lance, et qui me demande donc mon login et mdp pour me connecter � ma base.

    DAns l'explorateur d'�v�nement, on ne peut pas modifier de valeur de LoginPrompt sur un DataSource.

    Pouvez vous m'�claircir la chose svp?

    merci par avance

  2. #2
    Membre exp�riment� Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par d�faut
    utilise le composant : Database1

    dans l'inspecteur d'objet met a False LoginPrompt

    Si tu utilises l'odbc Configure aussi AliasName c tout.

    DataBaseName c'est pour renommer L'alliasse pour lier ton composant Table

    comme si ton aliasse Odbc etait secret !?

    un exemple ici : www.createsoft.be/opensource/ODBC-builder.rar

    @+

  3. #3
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut


    la question a d�j� �t� pos�e...

    merci d'avance

  4. #4
    Membre �clair�
    Inscrit en
    Juin 2007
    Messages
    362
    D�tails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par d�faut
    j'ai vu en effet...Sauf qu'aucuns sujet ne r�ponds � mon sujet oO

    En r�sum�, j'ai un objet TDAtamodule qui comprends : TDAtabase,TTAble et TQuery.

    Ce TDAtamodule est utilis� par une classe qui g�re tous les envois de requ�tes SQL sur ma bdd.

    J'ai donc cr�� ma Form avec le DBGrid en fonction de ce TDAtamodule, donc sur cette form, j'ai fait mon TDataSource.

    La propri�t�s Dataset de mon Datasource a 2 possibilit�s: * DataModule->Table1
    ou DataModule->TQuery.

    J'en d�duis donc que ma form et mon dbgrid sont li�s � mon TDAtaModule non?

    Sur le composant Database, le prompt est a false, et les informations de connexion sont g�r�s par une classe qui g�re un fichier ini (qui comprends le login et mdp).

    Si le prompt est � false, je ne devrais pas l'avoir pour envoyer une requete sql, afficher le dbgrid n'est ce pas?

    Dans le fonctionneemnt g�n�ral de mon soft, sur des requetes sql simple le prompt ne s'affiche pas, sauf pour le cas de la dbgrid.

    c'est la que je trouve cela surprenant.

    J'espere que vous m'avez compris ^^

    Freud

  5. #5
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Bonsoir,

    Quelle est le type de database, pour commencer ?

    Ensuite, m�me si je n'ai jamais utilis� un TDatabase dans ce contexte (plut�t des objets TADOmachinchose), je me permets de penser que:
    Si le prompt est � false, je ne devrais pas l'avoir pour envoyer une requete sql, afficher le dbgrid n'est ce pas?
    n'est pas juste.

    Tel que je le comprends si LoginPrompt est a false, on dirait que tu sous-entends que la connexion se fera m�me si il n'y a aucun param�tres de fournis pour une DB qui attends le couple "User ID / mdp".
    Ce qui est aussi surprenant c'est qu'il semblerait que les cas de connexion avec MDP soient d�j� trait�s (avec "un classe qui g�re un fichier ini" comme tu sembles l'indiquer), donc qu'est ce qui fait que pour ce cas cela soit diff�rent ?
    Si tout est parametr� de la m�me mani�re, et que les �v�nements sont trait�s de facon identiques, ...?

    En fonction de la base de donn�es utilis�e, pour ne pas essayer avec des composants de type TADOTable et TADOQuery, pour lesquels la propri�t� 'ConnectionString' contient (entre autres) le login et le mdp ?

    @+

  6. #6
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut
    +1..
    le principe du database, datasource c'est justement d'avoir un m�me composant pr se connecter...qui lui servira de source aux composants orient�s donn�es.

    Le dbgrid ne fait qu'afficher le resultat de la requete...n'empeche que la requete doit �tre ex�cut�e..et donc une connexion �tablie.

    tu peux mettre � false si tu g�res ta connexion en dynamique par exemple, en fournissant log et mdp au pr�alable

  7. #7
    Membre �clair�
    Inscrit en
    Juin 2007
    Messages
    362
    D�tails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par d�faut
    D�sol� du retard pour ma r�ponse

    En fait, j'ai mon TDataModule qui comprends un TDatabase et un TQuery.
    Lors du "DataModuleCreate", dans l'explorateur d'�v�nements, j'ai cr�� un bout de code pour qu'au moment de l'ouverture de connexion du Database � la bdd, je fournis (via un fichier .ini) les login et mdp de la base de donn�es.

    De ce fait, mon LoginPrompt �tait � false, vous me suivez jusque la?

    Depuis que j'ai entrepris de vouloir utiliser un DBGrid, j'ai un login prompt qui se lance non pas � l'ouverture de session � la bdd, mais au moment ou mon TQuery est appel� avec une m�thode de ce style :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    void GestionQuery::ExecRequete()
    {
            DataModule1->Query->Open();
    }
    J'ai un Login Prompt qui s'ouvre et qui me demande login et mdp.
    Si je lui met aucunes valeur, ca se connecte quand meme (alors que ma bdd refuse toute connexion anonyme ou sans login...)

    Donc si ca se connecte sans login, j'en d�duis que les informations fournies via le fichier .ini sont en m�moires.

    Donc aux derni�res nouvelles, ca serait mon TQuery qui d�clencherait le prompt.
    Mais comment le fait il? je ne sais pas, surtout qu'avant ca n'apparaissait pas.

    Donc j'ai du modifier quelque chose ou faire une mauvaise manip quelques part...

    Merci par avance

  8. #8
    Membre �clair�
    Inscrit en
    Juin 2007
    Messages
    362
    D�tails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par d�faut
    Bon eh bien j'ai trouv� tout seul mon erreur lol

    la voici:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    Database->AliasName = ObjGestionFichierINI->GetFichier("Database", "AliasName");                     // application d'un alias à la bdd
            Database->DatabaseName = ObjGestionFichierINI->GetFichier("Database", "DataBaseName");               // application d'un nom de bdd
            Database->Params->Clear();
     
            Query->DatabaseName = ObjGestionFichierINI->GetFichier("Database", "DataBaseName");
    Le composant Query n'avait aucun moyen de savoir sur quelle bdd il devait int�ragir, il demandait donc syst�matiquement un login.

    Apres les lui avoir fourni avec le GetFichier, cela fonctionne parfaitement !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 19/06/2009, 11h20
  2. R�ponses: 0
    Dernier message: 01/06/2009, 13h02
  3. Diff�rence entre DataSet et DataSource
    Par rvzip64 dans le forum D�buter
    R�ponses: 1
    Dernier message: 17/01/2009, 23h18
  4. [2.2.2] Export de DataSet / DataSource
    Par imhotep_zr7s dans le forum BIRT
    R�ponses: 11
    Dernier message: 31/07/2008, 14h24
  5. [VB.net 2005] Assigner un dataset au datasource d'un contr�le
    Par WriteLN dans le forum Windows Forms
    R�ponses: 2
    Dernier message: 30/10/2007, 20h02

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