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

VB.NET Discussion :

utiliser une connexion "toto"


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 168
    Par défaut utiliser une connexion "toto"
    Bonjour,

    Je crée dans Visual Studio 2010 une nouvelle connexion "toto" qui s'appuie sur une base ACCESS "C:\Base de données1.mdb"

    Les propiétés de cette connexion sont les suivantes :

    Chaîne de connexion :Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Base de données1.mdb"
    Etat : Ouvrir
    Fournisseur : Fournisseur de données .NET Framework pour OLE DB
    Type : MS Jet
    Version : 04.00.0000

    Les tables (et autres) s'affichent convenablement lorsque je déroule ma connexion "toto".

    Comment puis-je appeler "toto" directement sans avoir à répéter les drivers etc... ?

    J'essaye quelque chose comme ça (ne vous moquez pas)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim MyConnexion As OleDbConnection = New OleDbConnection("toto")
            Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
            MyConnexion.Open()
     
            Mycommand.CommandText = "INSERT INTO PAR_BOUTONS (TYPE_BT) VALUES ('G')"
     
     
            MyConnexion.Close()
    et évidemment, ça ne marche pas !

    Merci beaucoup pour votre aide.

    JP

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut memoire la chaine de connexion
    bonjour,

    si tu travailles avec un dataset dans le designer elle est deja memorise toute prete dans my.settings.....,
    si tu travailles par code va dans tes parametres d'application ,donne un nom à ta chaine de connexion comme suit:
    saisie(exemple):
    -nom: jpgCnStr
    -type: chaine de connection
    -portee:application
    -valeur :....saisie les informations demandees dans boite de dialogue (source de donnees ->msacccess, dossier db ) ->ok
    apres voila ce que devient ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'jpgCnStr  devient accessible dans l'intellisense youps! 
    '------------------------------------------------------
    Dim maChaineCn As String = My.Settings. jpgCnStr
            Dim maConnexion As OleDbConnection = New OleDbConnection(maChaineCn)
            Dim maCommande As OleDbCommand = maConnexion.CreateCommand()
            maConnexion.Open()
            maCommande.CommandText = "INSERT INTO PAR_BOUTONS (TYPE_BT) VALUES ('G')"
            maConnexion.Close()
    bon code..............

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par MABROUKI Voir le message
    bonjour,

    si tu travailles avec un dataset dans le designer elle est deja memorise toute prete dans my.settings.....,
    si tu travailles par code va dans tes parametres d'application ,donne un nom à ta chaine de connexion comme suit:
    saisie(exemple):
    -nom: jpgCnStr
    -type: chaine de connection
    -portee:application
    -valeur :....saisie les informations demandees dans boite de dialogue (source de donnees ->msacccess, dossier db ) ->ok
    apres voila ce que devient ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'jpgCnStr  devient accessible dans l'intellisense youps! 
    '------------------------------------------------------
    Dim maChaineCn As String = My.Settings. jpgCnStr
            Dim maConnexion As OleDbConnection = New OleDbConnection(maChaineCn)
            Dim maCommande As OleDbCommand = maConnexion.CreateCommand()
            maConnexion.Open()
            maCommande.CommandText = "INSERT INTO PAR_BOUTONS (TYPE_BT) VALUES ('G')"
            maConnexion.Close()
    bon code..............
    Pourquoi ne pas passer par la collection connectionStrings de ton app.config.
    Je suis d'accords qu'on peut utiliser Settigns mais la place des connectionStrings est dans un fichier de configuration, non ?

  4. #4
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut collection connectionStrings et my.settings
    bonjour housse
    acceder a app.config pour retrouver la chaine de connexion s'il y en a 2 ou 3 et iterer a travers la collection pour retrouver le bon nom de connexion.
    je ne comprends pas .

    ceci necessite de se rappeller le nom de chacune d'elle ,ce que l'auteur du post cherche justement à economiser comme effort,surtout s'il a affaire à plus de 2 ou 3.

    c'est la precisement ou vient à son secours le raccourci my.settings avec l'intellisense.
    bonnee soiree..........

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par MABROUKI Voir le message
    bonjour housse
    acceder a app.config pour retrouver la chaine de connexion s'il y en a 2 ou 3 et iterer a travers la collection pour retrouver le bon nom de connexion.
    je ne comprends pas .
    Bon, j'ai l'impression que tu n'a pas compris comment fonctionne les connection strings dans le fichier app.config ou web.config.

    les fichiers de configuration d'application (app.config ou web.config) sont conçus pour stocker pour référencer les données utiles à l'application et en l’occurrence à tous les utilisateurs de l'application.

    Le fichier Settings est conçu pour contenir les données nécessaires à l'application (sauf qu'on pourra pas les modifier lors de l'exécution de l'application) ou à l'utilisateur (chaque donnée sera associée à un et un seul utilisateur mais peut être modifiée).

    Pour en revenir à mon choix pour stocker la chaîne de connexion dans le fichier app.config, cela vient du fait
    • c'est une donnée globale à l'application donc pas spécifique à chaque utilisateur.
    • mettre cette donnée dans la section ConnectionString est plus lisible
    • ça t'empêche de vouloir configurer la chaîne de connection par utilisateur le jour où cette dernière changera.


    Citation Envoyé par MABROUKI Voir le message
    ceci necessite de se rappeller le nom de chacune d'elle ,ce que l'auteur du post cherche justement à economiser comme effort,surtout s'il a affaire à plus de 2 ou 3.
    Excuses moi, mais je n'ai pas du tout compris.
    Bon je te donne un cas tout simple. Tu développes ton application qui utilises le fichier .Settings avec 3 connection strings ConnectionStringOne, ConnectionStringTwo et ConnectionStringThree. On est d'accords que VS te génère une classe Settings avec 3 propriétés avec des get et set portant ces noms et accédes à ces proprietés par l'intermédiaire du singleton Default.
    Imaginons quelques années après qu'une quatrième connection string ConnectionStringFour doit être utilisée par l'application. Alors là tu dois modifier le fichier .Settings ré-compiler ton application et tout redéployer vu que la classe Settings doit être regénerer pour prendre en compte la nouvelle propriété. Bonne chance pour le ré-déploiement. T'auras pas ce problème en mettant tes données dans le fichier de configuration de l'application.

  6. #6
    Membre confirmé
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 168
    Par défaut
    Merci pour ta dernière réponse h2s84,

    Cependant, je suis en train, tant bien que mal, de migrer une application ACCESS sur vb.net (langage, vous l'aurez compris que je découvre).

    Je n'aurai besoin que d'une seule base de données (pour le moment) et souhaiterais réussir à trouver les équivalents (ACCESS) en termes de sources de données d'un form, d'exécutions de requêtes (voire de ce que vb appelle "procédures stockées", mes requêtes "actions" d'access) et autres.

    L'appel de mysettings.toto me convenait pas mal par rapport à mon faible niveau.

    Mais je dois t'avouer que je n'y comprends pas grand chose.

    Pourriez-vous (ou tu) m'éclairer là dessus ?

  7. #7
    Membre confirmé
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 168
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      Dim maChaineCn As String = My.Settings.toto
     
            Dim maConnexion As OleDbConnection = New OleDbConnection(maChaineCn)
            Dim maCommande As OleDbCommand = maConnexion.CreateCommand()
            maConnexion.Open()
            maCommande.CommandText = "INSERT INTO PAR_BOUTONS (TYPE_BT) VALUES ('G')"
            maConnexion.Close()
    Je me suis permis de laisser toto à la place de jpgCnStr pour correspondre à mon exemple de départ et que je trouve dans My.Settings.
    Je retrouve bien dans toto.xsd toutes les tables de ma bd mais pas contre ça n'ajoute par de ligne dans ma table PAR_BOUTONS. Est-ce que " maCommande.CommandText " est la bonne syntaxe ?

  8. #8
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut syntaxe sql pour insert
    bonjour
    va dans le designer dataset ,fais ajouter
    ->une query->utiliser requetes sql->insert->generateur de requete
    dans l'editeur coche le champ et mets la valeur
    ->execute pour tester ta requete si elle est bonne sinon corrige.
    bon code....

Discussions similaires

  1. Ajout d'un enregistrement en utilisant une connexion ADOConnection
    Par doolar dans le forum Bases de données
    Réponses: 12
    Dernier message: 22/03/2008, 23h36
  2. Utiliser une connexion par Modem Rtc
    Par dede92 dans le forum Windows
    Réponses: 1
    Dernier message: 09/01/2008, 14h37

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