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 :

Comment déclarer une phrase de connexion dans module comme variable


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Octobre 2012
    Messages : 36
    Par défaut Comment déclarer une phrase de connexion dans module comme variable
    Bonjour

    Je cherche a me connecter à deux bases de données suivant une sélection a l'aide d'un Radio Button, j'ai crée ma phrase de connexion dans un module comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public CON As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Connexion & "")
    Je désire que mon module récupère la phrase de connexion [Connexion] a partir d'une variable déclarée dans mon formulaire principal comme texte.
    C'est à dire, si je veux me connecter à l'année 2018, je la sélectionne a l'aide d'un Radio Button dans mon formulaire principal et j'envoie la phrase de connexion correspondante à la variable [Connexion] dans mon module.

    merci de votre aide

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    Je ne comprends sans doute pas ta question ...
    En effet, selon ton exemple même, il suffit que ta variable Connection soit de type String, ou même que toute la chaine de connexion soit du type String.
    Peux-tu donner tes 2 chaines de connexion et ton code qui les utilise ?
    ...

  3. #3
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Octobre 2012
    Messages : 36
    Par défaut
    Merci de votre réponse
    La phrase de connexion correspondant à l'année 2018 est actuellement de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public CON As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C\Details.accdb")
    Si je sélectionne l'année 2019, Je veux que cette CON sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public CON As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D\Details.accdb")
    Suivant que je sélectionne l'année 2018 ou l'année 2019

    La connexion est déclarée dans un module dédié pour la phrase de connexion.

  4. #4
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Désolé, je ne comprends toujours pas ...
    Si je lis bien les 2 exemples (2018 et 2019), qui ont tous deux la même erreur (le double-point oublié), je ne vois toujours pas où est ta difficulté à passer la chaine de connexion comme argument de type String à la procédure qui doit l'utiliser.

    Voici ce que je ferai.

    Quelque part, au début de la page de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Dim MaConnexion As OleDbConnection  ' ...
        Dim ChaineConnexion As String   ' ...
    ' ...
    Puis, dans une procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ChaineConnexion = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Details.accdb"
    MaConnexion = OuvreConnexion(ChaineConnexion) ' Des codes, mêmes exploités une seule fois (dans ce programme)
    ' ...
    Et dans la fonction OuvreConnexion(... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        ' Avoir accès effectif aux données. Dans le mode connecté utilisé dans les mises à jour en temps réel, la connexion dit être ouverte,
        ' dans d'autres cas, il suffit qu'elle soit définie, un DataApter procéde lui-même à l'ouverture effective.
        Private Function OuvreConnexion(ByVal ChaineConnexionComplete As String, Optional ByVal Ouvrir As Boolean = True) As OleDbConnection
            Dim UneConnexion As New OleDbConnection
            UneConnexion.ConnectionString = ChaineConnexionComplete
            If Ouvrir Then UneConnexion.Open() ' Ouverture effective non nécessaire pour l'utilisation d'un DataAdapter
            Return UneConnexion
        End Function
    N'oublie pas les doubles-points : .... Source=D:\Details.accdb"

    J'espère que ceci t'aidera ...

  5. #5
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Octobre 2012
    Messages : 36
    Par défaut
    Merci d'être intéressé pour m'aider
    Je colle ici mon module de connexion :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    Imports System.Data.OleDb
     
    Module Connection_Module
     
        Dim ConDetails2019 As String = Formulaire_Principal.TxtConDetails2019.Text ' Variable récupéré d'un TextBox de mon formulaire (Formulaire_Principal)
        Dim ConDetails2018 As String = Formulaire_Principal.TxtConDetails2018.Text ' Variable récupéré d'un TextBox de mon formulaire (Formulaire_Principal)
     
        ' ConDetails2019 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Details.accdb"
        ' ConDetails2018 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Details.accdb"
     
        'Connexion pour Fichier Détails 2019
        Public CON As New OleDbConnection(ConDetails2019)
        ' Ici je veux que la connexion CON accepte une autre phrase de connexion : ConDetails2018
     
        ''' <summary>
        ''' ' C'est une fonction qui accepte un Text : [StrSelect] et retourne un DataTable [DT] pour le fichier Details
        ''' </summary>
        ''' <param name="StrSelect"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        ''' 
     
        Public Function RecupererDTDetails(StrSelect As String) As DataTable ' StrSelect est envoyé par un formulaire
            Dim DA As New OleDbDataAdapter(StrSelect, CON)
            Dim DT As New DataTable
            DA.Fill(DT)
            DA.Dispose()
            DA = Nothing
            Return DT
        End Function
     
     
        ''' <summary> C'est une fonction qui accepte un Text : [StrInsert] pour le fichier Details
        ''' 
        ''' ' Procédure d'insertion dans le fichiers Details
        ''' </summary>
        ''' <param name="StrInsert"></param>
        ''' <remarks></remarks>
        Public Sub InsertDataDetails(StrInsert As String) ' StrInsert est envoyé par un formulaire
            Dim CMD As New OleDbCommand()
            With CMD
                .CommandType = CommandType.Text
                .CommandText = StrInsert
                .Connection = CON
            End With
            CON.Open()
            CMD.ExecuteNonQuery()
            CON.Close()
        End Sub
     
        ''' <summary>  C'est une fonction qui accepte un Text : [StrUpdate] pour le fichier Details
        ''' 
        ''' ' Procédure de mise à jour dans le fichiers Details
        ''' </summary>
        ''' <param name="StrUpdate"></param>
        ''' <remarks></remarks>
        Public Sub UpdateDataDetails(StrUpdate As String) ' StrUpdate est envoyé par un formulaire
     
            Dim CMD As New OleDbCommand
            With CMD
                .CommandType = CommandType.Text
                .CommandText = StrUpdate
                .Connection = CON
            End With
            If (CON.State) = ConnectionState.Open Then CON.Close()
            CON.Open()
            CMD.ExecuteNonQuery()
            CON.Close()
     
        End Sub
     
        ''' <summary>   C'est une fonction qui accepte un Text : [StrDelete] pour le fichier Details
        ''' 
        ''' Procédure de suppression dans le fichiers Details
        ''' </summary>
        ''' <param name="StrDelete"></param>
        ''' <remarks></remarks>
        Public Sub DeleteDataDetails(StrDelete As String) ' StrDelete est envoyé par un formulaire
     
            Dim cmd As New OleDbCommand(StrDelete, CON)
            CON.Open()
            cmd.ExecuteNonQuery()
            CON.Close()
        End Sub
     
     
    End Module
    Mois je veux que la connexion CON accepte une autre phrase de connexion : ConDetails2018 lorsque je sélectionne 2018 pour se connecter à une autre base de données de même nom mais dans des emplacements différentes.

    Nom : Capture.JPG
Affichages : 552
Taille : 28,7 Ko

  6. #6
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Je ne pense pas que ça va marcher avec : Public CON As New OleDbConnection(ConDetails2019)

    Pourquoi n'utiliserais-tu pas la fonction que je t'ai proposée ? Je remets ton code légèrement modifié :

    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
        Dim ConDetails2019 As String = Formulaire_Principal.TxtConDetails2019.Text ' Variable récupéré d'un TextBox de mon formulaire (Formulaire_Principal)
        Dim ConDetails2018 As String = Formulaire_Principal.TxtConDetails2018.Text ' Variable récupéré d'un TextBox de mon formulaire (Formulaire_Principal)
     
        Dim ChaineConnexion As String
     
        ' ConDetails2019 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Details.accdb"
        ' ConDetails2018 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Details.accdb"
     
        'Connexion pour Fichier Détails 2019
    Public CON As OleDbConnection
     
    ChaineConnexion = ConDetails2019    ' ou bien n'importe quelle autre chaine qui t'inéresse
    CON =  OuvreConnexion(ChaineConnexion)   ' voir la fonction OuvreConnexion dans mon message précédent
     
        ' Ainsi la connexion CON accepte tout ce qui te plait

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/03/2010, 22h29
  2. Comment intégrer une phrase php dans le CSS?
    Par Marc22 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 02/02/2010, 10h23
  3. comment déclarer une connexion LDAP en global ?
    Par ben83 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/03/2007, 15h24
  4. Comment déclarer une DataSource dans server.xml
    Par guillaume06 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 16/06/2004, 14h27

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