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

ADO.NET Discussion :

Probléme de SqlDataReader sous sql server 2000


Sujet :

ADO.NET

  1. #1
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 184
    Points : 164
    Points
    164
    Par défaut Probléme de SqlDataReader sous sql server 2000
    Bonjour,

    j'ai une application que j'ai réalisé sous Visual c++ 2005 et sql server 2005.
    Je n'ai pas de soucis lors de son exécution mais dés que cette application marche sous win xp ou 2003 avec sql server 2000.
    il me sort l'erreur suivante

    System.InvalidOperationException: There is already an open DataReader associated with this Command which must be closed first.

    at System.Data.SqlClient.SqlInternalConnectionTds.ValidateConnectionForExecute(SqlCommand command)

    at System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command)

    at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async)

    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)

    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

    at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)

    at System.Data.SqlClient.SqlCommand.ExecuteReader()

    at Scriptclass.script_save()
    J'ai vérifié si les datareaders sont bien fermés et c'est le cas.
    En plus, le problème semble apparaitre dans une autre fonction qui n'emploie pas de Datareader

    Je me demande si ce c'est pas ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int affectedrows = command3->ExecuteNonQuery();
    Sauriez-vous pourquoi et comment résoudre ce probléme?

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Essaies d'ajouter cette option dans ta chaîne de connection et regardes si ça corrige le problème : MultipleActiveResultSets=True

  3. #3
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 184
    Points : 164
    Points
    164
    Par défaut
    Bonjour,

    merci pour la réponse.

    Je l'avais déjà mis auparavant mais il semblerait que cette option ne marche qu'à partir de sql server 2005. Normallement, là où cela pose problème, il n'y a pas de sqldatareader

  4. #4
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 184
    Points : 164
    Points
    164
    Par défaut
    Je crois avoir la réponse, il a suffit de remplacer les executereader par des executenonquery.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/05/2012, 17h02
  2. Problème de performances sous SQL Server 2000
    Par Shuret dans le forum MS SQL Server
    Réponses: 22
    Dernier message: 22/10/2008, 14h09
  3. Problème de procédure stockée sous SQL Server 2000.
    Par FabienDev dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/07/2008, 16h26
  4. Problème d'installation de sql server 2000
    Par michelci dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/12/2003, 08h02
  5. problème de float sur SQL server 2000.
    Par fidji dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 24/07/2003, 14h15

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