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

Windows Forms Discussion :

Petite question vb 2005 express / mysql


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 16
    Points : 9
    Points
    9
    Par défaut Petite question vb 2005 express / mysql
    Bonjour tout le monde !

    Me voici en pleine phase de transition vb6/2005 ... Je suis en train de refaire mon programme sur ce nouveau système, en m'appuyant sur une base MYSQL.

    Pour la connection, pas de problèmes, mais pour la navigation, je suis un peu perdu !

    J'ai donc créé pour l'instant une base cine comprenant une table fournisseurs. J'ai créé un formulaire de saisie des données, et deux boutons (button1 et 2) de navigation. Je souhaite, lorsque le button 2 est cliqué, passer à l'enregistrement suivant (myReader.Read()) et remplir les champs par les valeurs de la base. Jusque la ca marche. Là où ca pose problème, c'est que je ne sais pas comment revenir à l'enregistrement précédent, la commande myReader.Read(-1) étant incorrecte.

    Quelqu'un pourrait-il me dire comment naviguer en arrière dans la base ?

    Merci d'avance .

    Ci dessous, le code de mon formulaire.

    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
    Public Class fourn
        Dim modif As Integer
        Public myConnection As New System.Data.Odbc.OdbcConnection("DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=cine;USER=root;PASSWORD= ;OPTION=3")
        Dim MyCommand As New System.Data.Odbc.OdbcCommand("SELECT * FROM fournisseurs", myConnection)
        Dim myReader As System.Data.Odbc.OdbcDataReader
     
     
     
        Private Sub fournisseur_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            MyCommand.Connection.Close()
        End Sub
     
     
     
        Private Sub fournisseur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            modif = 0
            Try
                MyCommand.Connection.Open()
                myReader = MyCommand.ExecuteReader(CommandBehavior.CloseConnection)
                If myReader.HasRows = True Then
                    Button2.Visible = True
                Else
                    Button2.Visible = False
                End If
     
                'on gère les erreurs 
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            Finally
            End Try
     
     
        End Sub
     
        Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            Me.Close()
        End Sub
     
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
     
        End Sub
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Button1.Visible = True
            modif = 1
            myReader.Read()
     
            If myReader.Read() = False Then
                Button2.Visible = False
            Else
                Button2.Visible = True
            End If
            myReader.Read(-1)
            nom.Text = myReader.GetString(1)
            adresse.Text = myReader.GetString(2)
            cp.Text = myReader.GetString(3)
            ville.Text = myReader.GetString(4)
            tel.Text = myReader.GetString(5)
            fax.Text = myReader.GetString(6)
            no_client.Text = myReader.GetString(7)
     
        End Sub
     
        Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
        End Sub
    End Class

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 374
    Points : 451
    Points
    451
    Par défaut
    Bonjour,
    Tout d'abord bon courage car il y a un monde entre VB6 et VB2005.
    Le plus simple pour ton problème est d'utiliser les assistants

    1 Ajoute un contrôle dataset, (va créer une table dans le dataset)
    un contrôle bindingsource(pour lier les contrôles à la table) et un contrôle bindingnavigator(créer les boutons de navigation)
    2 relie(propriété databinding) les contrôles de saisie aux champs correspondant de la table.

    Pour se déplacer dans le code utilise les propriétés du bindingsource.
    Sur ce site il y a des tutoriaux pour l'accès aux BDR.
    Bon boulot Jean

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 16
    Points : 9
    Points
    9
    Par défaut mysql et vb2005
    merci mais cette méthode ne me propose que de me connecter sur une base access et sql server.

    Or, la base utilisée pour l'instant est une base MySql...

    De plus, je préfèrerais coder moi même plutot que d'utiliser des boutons et codes générés automatiquement (l'habitude vb6...) pour une plus grande souplesse d'utilisation.

    N'y a-t-il pas un équivalent de moveprevious pour le controle OBDCDataReader ?

    Merci d'avance !

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par glaudioman Voir le message
    merci mais cette méthode ne me propose que de me connecter sur une base access et sql server.
    C'est une limitation liée à la version express. Il va falloir songer à investir dans une version complète de VS 2005 si tu souhaites utiliser une autre base.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

Discussions similaires

  1. MySql et visual basic 2005 express
    Par fabrice.77 dans le forum Débuter
    Réponses: 3
    Dernier message: 19/12/2006, 15h52
  2. [ADO.NET] MySql et visual basic 2005 express
    Par fabrice.77 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 17/12/2006, 18h25
  3. [MySQL] Petite question sur une erreur de mysql
    Par iwf-fr dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/12/2006, 16h23
  4. question su sql server 2005 express edition
    Par nass06 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/04/2006, 20h15
  5. MySQL vers SQL Server 2005 Express ?
    Par fredouille31 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 02/02/2006, 09h37

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