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 :

Problème de liaison de donnée sur un datasource


Sujet :

VB.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 189
    Points : 87
    Points
    87
    Par défaut Problème de liaison de donnée sur un datasource
    Bonjour a tous, voila j'ai une form dans lequel j'ai deux combobox completement indépendante, mais dont chacune d'entres elles est lié à des labels et les labels évoluent en focntion de la ligne dans le combobox.

    Chacun des combobox doit être relié à une table de ma base de donnée sql server 2005.

    J'ai d'abord essayer en faisant une requete contenant les données des deux tables, j'arrive presque a mes fins, sauf que j'obtiens un produit cartésien du nombre de ligne de mes tables donc je suis obligé de passer par deux requete différentes, mais lorsque je le fais, j'obtient un message d'erreur me disant que j'ai un problème de liaison de donnée sur un datasource.

    voici mon code :

    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
     
           strSql = "SELECT NumBeneficiaire, NomBeneficiaire, PrenomBeneficiaire, " & _
                     "AdresseBeneficiaire + CAST(CPBeneficiaire AS varchar(5)) + VilleBeneficiaire as ligne_adresse_Bene, " & _
                     "TelephoneBeneficiaire, Portablebeneficiaire " & _
                     "From BENEFICIAIRES"
     
            Dim strSql1 As String = "Select  NumInt, NomInt, PrenomInt, VilleInt, TelFixeInt, TelPortInt from INTERVENANTE"
     
            'on indique la table 
            table = "INTERVENANTE"
            table1 = "BENEFICIAIRE"
            'on vide le dataset
            ObjetDataSet.Clear()
            'on éxécute la fonction pour se connecter à la base et éxécuter la requête
            BD.ExecReq(strSql, table, ObjetDataSet)
            BD.ExecReq(strSql1, table1, ObjetDataSet1)
            ObjetDataTable.Clear()
            ObjetDatatable1.Clear()
            'On crèe une datatable à partir du dataset
            ObjetDataTable = ObjetDataSet.Tables(table)
            ObjetDatatable1 = ObjetDataSet1.Tables(table1)
     
            Dim nbligne As Integer = ObjetDataTable.Rows.Count
            Dim nbligne1 As Integer = ObjetDatatable1.Rows.Count
     
            ' on lie le bindingsource à l'objet datatable
            BSIntervenante.DataSource = ObjetDataTable
            BindingSource.DataSource = ObjetDatatable1
     
            'on affecte les données au objets visuel
            'on remplie la combobox
            CMBnomintmission.DataSource = BSIntervenante
            CMBnomintmission.ValueMember = "NumInt"
            CMBnomintmission.DisplayMember = "NomInt"
            'et on remplie tous les textbox
            LBLprenomintmission.DataBindings.Clear()
            LBLprenomintmission.DataBindings.Add(New System.Windows.Forms.Binding("Text", BSIntervenante, "PrenomInt", True))
            LBLvilleintmission.DataBindings.Clear()
            LBLvilleintmission.DataBindings.Add(New System.Windows.Forms.Binding("Text", BSIntervenante, "VilleInt", True))
            LBLtelintmission.DataBindings.Clear()
            LBLtelintmission.DataBindings.Add(New System.Windows.Forms.Binding("Text", BSIntervenante, "TelFixeInt", True))
            LBLPortintmission.DataBindings.Clear()
            LBLPortintmission.DataBindings.Add(New System.Windows.Forms.Binding("Text", BSIntervenante, "TelPortInt", True))
     
            'on remplie la combobox
            CMBnombenemission.DataSource = BindingSource
            CMBnombenemission.ValueMember = "NumBeneficiaire"
            CMBnombenemission.DisplayMember = "NomBeneficiaire"
            'et on remplie tous les textbox
            LBLPrenombenemission.DataBindings.Clear()
            LBLPrenombenemission.DataBindings.Add(New System.Windows.Forms.Binding("Text", BindingSource, "PrenomBeneficiaire", True))
            LBLadrbenemission.DataBindings.Clear()
            LBLadrbenemission.DataBindings.Add(New System.Windows.Forms.Binding("Text", BindingSource, "ligne_adresse_Bene", True))
            LBLtelbenemission.DataBindings.Clear()
            LBLtelbenemission.DataBindings.Add(New System.Windows.Forms.Binding("Text", BindingSource, "TelephoneBeneficiaire", True))
            LBLportbenemission.DataBindings.Clear()
            LBLportbenemission.DataBindings.Add(New System.Windows.Forms.Binding("Text", BindingSource, "PortableBeneficiaire", True))

    fonction execreq appelé dans le code précédent
    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
     
            Try
                'Instanciation d'un Objet Connexion
                objetconnection = New SqlConnection
                'Donner à la propriété ConnectionString les paramètres de connexion
                objetconnection.ConnectionString = strConn
                'Ouvrir la connexion
                objetconnection.Open()
                'Instancier un objet Command
                ObjetCommand = New SqlCommand(req)
                'Instancier un objet Adapter
                ObjetDataAdapter = New SqlDataAdapter(ObjetCommand)
                'initialiser l'objet Command
                ObjetCommand.Connection() = objetconnection
                'initialiser l'objet OleDBComandBuilder (sinon pas d'update)
                ObjetCB = New SqlCommandBuilder(ObjetDataAdapter)
                'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
                ObjetDataAdapter.Fill(datas, table)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            Finally
                If Not (objetconnection Is Nothing) Then objetconnection.Close()
            End Try
    J'ai vraiment du mal à comprendre ce qui se passe

    d'avance merci pour l'aide que vous m'apporterez

    @++
    dubidon
    "Un jour j'y arriverais tout seul, si si je vous le jure "

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 189
    Points : 87
    Points
    87
    Par défaut
    bon ben du cou, après beaucoup de temps a essayer de comprendre pourquoi çà allait pas, finalement j'avais simplement inversé mes deux bindingsource. C'est abusé le temps que l'on peut perdre pour des petites bétises et comme c'est difficile de remettre en quetsion son code

    @++
    dubidon
    "Un jour j'y arriverais tout seul, si si je vous le jure "

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

Discussions similaires

  1. Problème d'extraction de données sur DD Toshiba
    Par Valentinik35 dans le forum Composants
    Réponses: 2
    Dernier message: 03/06/2008, 21h10
  2. Réponses: 2
    Dernier message: 04/06/2007, 14h44
  3. liaison des données sur différentes pages
    Par tetedeturcq dans le forum Services Web
    Réponses: 11
    Dernier message: 15/04/2007, 03h05
  4. problème d'accès aux données sur serveur par poste client
    Par rahan_dave dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/02/2006, 09h13
  5. Réponses: 5
    Dernier message: 11/03/2004, 15h34

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