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 :

Première application VB.net


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Par défaut Première application VB.net
    Bonjour ,
    J'essai de développer ma première application en VB.net mais dès le début je bloque.

    J'ai ma base access et visual studio 2008 express.
    Après avoir lu le cours de Philippe Plasserre sur VB.net, j'ai tenté de créer un DATASET , j'ai donc mis dans un module le code suivant:

    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
    Imports System.Data
    Imports System.Data.OleDb
     
    Module Module1
     
        '  Déclaration Objet Connexion
        Private ObjetConnection As OleDbConnection
     
        ' Déclaration Objet Commande
        Private ObjetCommand As OleDbCommand
     
        '  Déclaration Objet DataAdapter
        Private ObjetDataAdapter As OleDbDataAdapter
     
        ' Déclaration Objet DataSet
        Private ObjetDataSet As New DataSet() 'Attention au New
     
        'String contenant la 'Requête SQL'
        Private strSql As String
     
        ' Déclaration Objet DataTable
        Private ObjetDataTable As DataTable
     
        ' Déclaration Objet DataRow (ligne)
        Private ObjetDataRow As DataRow
     
        'Numéro de la ligne en cours
        Private RowNumber As Integer    'Numéro de l'enregistrement courant
     
        'Paramêtres de connexion à la DB
        Private strConn As String
     
        'Pour recompiler les données modifiées avant de les remettre dans le
        '"DataAdapter"
        Private ObjetCommandBuilder As OleDbCommandBuilder
     
        'Initialisation de la chaîne de paramètres pour la connexion
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source= D:\materiel.accdb;"
     
        'Initialisation de la chaîne contenant l'instruction SQL
    strSql = "SELECT marque FROM ordinateur"
     
        'Instanciation d'un Objet Connexion
    ObjetConnection = New OleDbConnection()
     
        'Donner à la propriété ConnectionString les paramètres de connexion
    ObjetConnection.ConnectionString = strConn
     
        'Ouvrir la connexion
    ObjetConnection.Open()
     
        'Instancier un objet Commande
    ObjetCommand = New OleDbCommand(strSql)
     
        'Instancier un objet Adapter
    ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
     
        'initialiser l'objet Command
    ObjetCommand.Connection() = ObjetConnection
     
        'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
    ObjetDataAdapter.Fill(ObjetDataSet, "ordinateur")
     
        'Mettre dans un Objet DataTable une table du DataSet
    ObjetDataTable = ObjetDataSet.Tables("ordinateur")
     
     
     
    End Module
    Le problème c'est que lorque j'initialise ou j'instancie mes private variables "strConn", ... ressortent en erreur "déclaration attendue".
    Comment puis je résoudre ce problème?

    D'autre part j'ai créé un dataset (contenant la table ordinateur de ma base access) en ajoutant directement une source donnée, je peux visualiser un aperçu des données mais je ne sais pas comment exploiter par le code les données contenu dans ce dataset.

    Par avance merci pour vos réponses à mes 2 interrogations!!

    Bonne soirée.

  2. #2
    Membre chevronné
    Avatar de Ogotcha
    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Par défaut
    Dans ton module il serait bien que tu créer une sub ou une function qui contient ton code sans inclure forcément tes déclarations de variables qui sont en private
    Mon Blog
    FAQs DotNet
    Fonction utile : Recherche

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Par défaut
    Merci bien pour ta réponse.
    J'ai donc fais appel à ma fonction "extraction" que j'ai créé dans le module.

    J'essai simplement d'afficher un enregistrement de mon ObjetDatatable dans un txtbox.
    dont voici le code sur chargement 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
    Public Class Form1
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
     
            Call extraction()
            If RowNumber < 0 Then Exit Sub
     
            'Lors de l'ouverture de la BD, s'il n'y a aucun enregistrement
            If RowNumber > ObjetDataTable.Rows.Count - 1 Then Exit Sub
            'ObjetTable.Rows(Numéro de lignes).Item( Nom de colonne) donne le contenu 
            'd'un champ dans une ligne donnée
            Me.TxtBoxMarque.Text = ObjetDataTable.Rows(RowNumber).Item("marque").ToString
            'Item peut avoir en paramètre le nom de la colonne ou sont index
     
     
        End Sub
    End Class
    Mais au moment de la compilation de mon projet:
    Mon txtbox n'est pas rempli et un message apparait plusieurs fois:
    Une exception de première chance de type 'System.InvalidOperationException' s'est produite dans System.Data.dll
    Après quelques recherches , ceci viendrait du fait quil y aurait une Tentative non valide de lecture lorsque aucune donnée n'est présente, or des données sont présentes dans ma base.

    Quelqu'un saurait-il pourquoi?
    je me rend compte que je risque de poser pas de questions dans un futur proche concernant mon appli.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/07/2006, 16h47
  2. [VB .NET] Localisation d'une application vb.net
    Par plasticgoat dans le forum Windows Forms
    Réponses: 28
    Dernier message: 07/06/2006, 16h13
  3. [DEBUTANT]Première application avec XML
    Par mlallem dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 17/11/2005, 15h07
  4. Réponses: 8
    Dernier message: 18/08/2005, 18h42

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