ExecNonQuery VB.NET SQL SERVEUR

Résolu
Signaler
Messages postés
28
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
29 mars 2009
-
Messages postés
28
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
29 mars 2009
-
Salut les Amis !!!
Je développe un logiciel de gestion de client en VB.NET 2008 avec une base de donnée sous SQL serveur 2005 express Edition
et je rencontre un soucis lors de ma requete insert.
voici la ligne qui pose problème :
nom_reader = commande.ExecuteNonQuery

il me génère cet erreur :
Value of type 'Integer' cannot be converted to 'System.Data.SqlClient.SqlDataReader'.

Aidez moi s'il vous plait !!!!

Si vous avez besoin de plus de code n'hésitez pas a me le demander

6 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Ouais, avec le peu de détail que tu donne, pas évident de comprendre ton problème.
Tu as de la chance, je viens de nettoyer ma boule de crystal, elle brille de tous ses feux.

Donc en l'absence de précisions, on va un peu spéculer.

On va spéculer que la variable nom_reader est de type DataReader.
ExecuteNonQuery ne te renvoie pas un datareader, elle te renvoie un integer t'indiquant le nombre de lignes inpactées par l'exécution de la requette.

Tu ne peux donc pas affecter le résultat de ExecuteNomQuery à un DataReader
<strike>nom_reader = </strike>commande.ExecuteNonQuery

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
comme dit dans la première réponse, supprime 'nom_reader =' devant commande.ExecuteNonQuery

ou alors remplace le par une variable de type Integer si tu veux utiliser le résultat (nb de lignes impactées par la requête)

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
28
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
29 mars 2009

Oué, effectivement j'ai pas donné trop de détails !!!
Bon je met le code en plus qui vous permetra de m'aider je l'espère !!!!

Imports

System.IO
Imports

System.Data
Imports

System.Data.SqlClient
Public

Class liste

Dim connect
As SqlConnection

Dim commande
As SqlCommand

Dim nom_reader
As SqlDataReader

Private
Sub liste_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
HandlesMyBase.Loadcommande New SqlCommandconnect

New SqlConnectionconnect.ConnectionString =

"server=XXXXX;Initial Catalog=XXXX;"commande.Connection = connect

connect.Open()

End
Sub

Private
Sub enregistrer_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs) Handles enregistrer.Clickcommande.CommandText "INSERT INTO  ... VALUES ... "nom_reader commande.ExecuteNonQuery

End
Sub

Merci d'avance !!!!
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Donc rien de plus, ma première réponse était la bonne

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
28
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
29 mars 2009

Merci de tes réponses casy !! 
Je suis vraiment débutant et donc je n'y connais pas grand chose,
Comment dois-je m'y prendre et que dois-je utiliser dans ce cas ??
Merci d'avance de ta réponse
Messages postés
28
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
29 mars 2009

SA FONCTIONNE !!!!!
Merci beaucoup !!!
je pensais qu'il falait reemplacer nom_reader par quelque chose d'autre ... et je ne voyais pas du tout quoi !!!  

Merci !!!!