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 :

soucis avec le executereader


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 18
    Par défaut soucis avec le executereader
    Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans system.data.dll

    Informations supplémentaires*: ExecuteReader*: la propriété Connection n'a pas été initialisé

    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
    58
    59
    60
    Private Sub BtnValider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnValider.Click
            'etablissement dela connection
            Dim objectconnection As SqlConnection = New SqlConnection
            objectconnection.ConnectionString = "Persist Security Info=False;Integrated Security=SSPI;database=goeland;server=C008-PC-5216492"
            'Objet SqlCommand
            Dim cmd As New SqlCommand
            'On indique que l'on souhaite utiliser une procédure stockée
            cmd.CommandType = CommandType.StoredProcedure
            'On donne le nom de cette procédure stockée
            cmd.CommandText = "ps_newpers"
            objectconnection.Open()
            'Paramètres
            cmd.Parameters.Add(New SqlParameter("@numemp", SqlDbType.Float, 8))
            cmd.Parameters("@numemp").Value = Textnum.Text
            cmd.Parameters.Add(New SqlParameter("@typerso", SqlDbType.NVarChar, 255))
            cmd.Parameters("@typerso").Value = "p"
            cmd.Parameters.Add(New SqlParameter("@nomempl", SqlDbType.NVarChar, 255))
            cmd.Parameters("@nomempl").Value = "digdig"
            cmd.Parameters.Add(New SqlParameter("@preempl", SqlDbType.NVarChar, 255))
            cmd.Parameters("@preempl").Value = "biloute"
            cmd.Parameters.Add(New SqlParameter("@adrempl", SqlDbType.NVarChar, 255))
            cmd.Parameters("@adrempl").Value = "quelque part en france"
            cmd.Parameters.Add(New SqlParameter("@etacivil", SqlDbType.NVarChar, 255))
            cmd.Parameters("@etacivil").Value = "mr"
            cmd.Parameters.Add(New SqlParameter("@sexe", SqlDbType.NVarChar, 255))
            cmd.Parameters("@sexe").Value = "M"
            cmd.Parameters.Add(New SqlParameter("@datnaiss", SqlDbType.SmallDateTime))
            cmd.Parameters("@datnaiss").Value = "1983-13-05 00:00:00.000"
            cmd.Parameters.Add(New SqlParameter("@datemb", SqlDbType.SmallDateTime))
            cmd.Parameters("@datemb").Value = "2003-13-05 00:00:00.000"
            cmd.Parameters.Add(New SqlParameter("@salemp", SqlDbType.Float, 8))
            cmd.Parameters("@salemp").Value = "1500"
            cmd.Parameters.Add(New SqlParameter("@tmptrav", SqlDbType.Float, 8))
            cmd.Parameters("@tmptrav").Value = "35"
            cmd.Parameters.Add(New SqlParameter("@typcont", SqlDbType.NVarChar, 255))
            cmd.Parameters("@typcont").Value = "cdd"
            cmd.Parameters.Add(New SqlParameter("@codact", SqlDbType.NVarChar, 255))
            cmd.Parameters("@codact").Value = "a"
            cmd.Parameters.Add(New SqlParameter("@datdec", SqlDbType.SmallDateTime))
            cmd.Parameters("@datdec").Value = ""
            cmd.Parameters.Add(New SqlParameter("@datfin", SqlDbType.SmallDateTime))
            cmd.Parameters("@datfin").Value = ""
            cmd.Parameters.Add(New SqlParameter("@hvolpil", SqlDbType.Float, 8))
            cmd.Parameters("@salemp").Value = ""
     
     
            Dim dataread As SqlDataReader
            dataread = cmd.ExecuteReader()
            Dim listbox1
            Do While dataread.Read
                listbox1.itemsadd(dataread.GetString(0))
            Loop
            dataread.Close()
            objectconnection.Close()
            Me.Dispose()
            Dim frmpersnavi As New frmpersnav
            frmpersnavi.ShowDialog()
     
        End Sub
    End Class

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2003
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2003
    Messages : 201
    Par défaut
    cool VB.net et SQL je suis la dedans moi aussi

    moi j'essaierai de mettre le tout dans un try avant tout...comme ca quand ca plante tu peux te faire afficher un petit message te disant pourquoi ca plante plus précisément.

    personnellement aussi je met mes demande de procédure entre un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    using connection as new sqlconnection(connectionstring)
    demande de procédure, passage de valeur, connection, lecture
    end using
    - est-ce que ta BD est sur le meme ordi ?

    - est-ce que ta string de connexion est bonne ??

    bonne chance mais tu vas voir....c'est cool les procédure stockée et vb.net

  3. #3
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Tu instancies deux objets qui ne se connaissent pas entre eux.
    Tu as bien une commande, tu as bien une connexion, mais ta commande ne sais pas quelle connexion utiliser !
    Voilà ce que tu dois rajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.Connection = objectconnection

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Autre façon de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim cmd As SqlCommand = objectconnection.CreateCommand()
    Particulièrement pratique si tu manipules les interfaces IDbConnection et IDbCommand pour rester indépendant du SGBD utilisé...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 18
    Par défaut
    Que de reponses, merci a tous. je suis chez moi et je ne peux pas essayé car j'ai pas les license. mais demain la ou je me forme, je corrige et je vous dis quoi

  6. #6
    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
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Autre façon de faire :
    Particulièrement pratique si tu manipules les interfaces IDbConnection et IDbCommand pour rester indépendant du SGBD utilisé...
    +1 en .NET 1.1.

    En .NET 2.0, il y a le namespace System.Data.Common associé à l'abstract factory de DbConnection pour faire ça plus proprement.
    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

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 18
    Par défaut
    apres ajout de l'instruction : cmd.Connection = objectconnection, j'ai un autre message d'erreur :

    Une exception non gérée du type 'System.FormatException' s'est produite dans system.data.dll
    Informations supplémentaires*: La chaîne n'a pas été reconnue en tant que DateTime valide

    La ligne surligné verte est:
    dataread = cmd.ExecuteReader()

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

Discussions similaires

  1. quelques soucis avec word 2000
    Par ramchou dans le forum Word
    Réponses: 3
    Dernier message: 06/09/2004, 18h13
  2. SOucis avec une reequete imbriquee
    Par Ni4k dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/03/2004, 08h56
  3. souci avec un algorithme
    Par slider16 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 22/03/2004, 17h17
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52
  5. Réponses: 4
    Dernier message: 16/02/2003, 12h16

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