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 :

ExecuteReader et ExecuteNonQuery


Sujet :

VB.NET

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut ExecuteReader et ExecuteNonQuery
    Bonjour,

    En lisant un cours sur l'ADO.NET (Cours), je me demandais si l'utilisation d'ExecuteReader à la place de ExecuteNonQuery pour un Update pouvait être inutile. Dans le code que je remanie, il n'y a presque que des executeReader, pour tout type de requête. Donc cela m'intrigue pas mal de savoir si c'est une aberration ou pas ^^

    Merci d'avance

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    ExecuteReader pour un Update
    Comme son nom l'indique, ExecuteReader n'est utilisable qu'en lecture.

    Pour la mise à jour, on peut utiliser les commandes telles que ExecuteQuery, et ExecuteNonQuery ou alors un TableAdapter.

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Par défaut
    Je mélangerais pas les tableAdapters avec les requêtes.

    En effet l'un utilise de façons cachée et automatisée l'autre.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Merci pour vos réponses ^^ En gros, c'est juste une aberration d'un point de vue syntaxique mais pensez-vous que cela puisse être gênant ce genre d'utilisation erronée ? Cela peut-il ralentir une exécution par exemple ?

  5. #5
    Membre confirmé Avatar de simotaqi
    Inscrit en
    Février 2010
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 144
    Par défaut
    salut
    Ben , executeReader c'est pour la commande select seulement ,
    executeNonQuery est pour les update, insert, delet,...etc
    et enfin nous avons executeScalar (qui n'est pas beaucoups utilisee)qui sert a retourner une seul valeur de la requete (count , max,min , avg...etc)

    pour executeScalar , j'ai jamais travailler avec... (parfois on pense que certaines methodes manquent de comfort pour chacun )

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    executereader sert en effet quand il y a au moins un select dans le commandtext et que tu veux récupérer les données dans ton programme
    le commandtext peut contenir plusieurs requetes, genre un update puis un select

    l'utiliser à la place executenonquery n'est pas spécialement génant, à part que l'executereader n'est pas une sub mais une fonction, donc elle retourne une variable, qui sera donc instanciée pour rien
    (et à vu de nez elle doit etre disposable et donc ne sera pas disposée rapidement)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Merci Pol, c'est ce qu'il me manquait comme information. C'est vraiment de pire en pire ce que je découvre de l'existant du programme sur lequel je travaille. Aucune rigueur par rapport au langage, à la syntaxe...J'adore...

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

Discussions similaires

  1. [C#]Problème OleDbCommand.ExecuteReader avec BdD Access
    Par Renesis57 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/09/2006, 18h36
  2. [VB.Net/DataReader] Pourquoi mon ExecuteReader ne fonctionne pas ?
    Par emeraudes dans le forum Accès aux données
    Réponses: 8
    Dernier message: 21/08/2006, 13h38
  3. [C#] Pourquoi une erreur System sur la commande ExecuteReader ?
    Par heavydrinker dans le forum Accès aux données
    Réponses: 4
    Dernier message: 31/07/2006, 16h05
  4. [C#] Probleme d'ExecuteReader
    Par hebus. dans le forum ASP.NET
    Réponses: 2
    Dernier message: 08/06/2006, 11h55
  5. [VB.net] Pb valeur retour ExecuteNonQuery
    Par nico10gbb dans le forum Windows Forms
    Réponses: 10
    Dernier message: 18/04/2006, 12h22

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