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

Développement SQL Server Discussion :

Vérifier si un curseur est ouvert


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut Vérifier si un curseur est ouvert
    Bonjour

    J'aimerais vérifier si un curseur est ouvert pour savoir s'il faut le fermer ou non. Je cherche quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    IF Mon_curseur is open 
    BEGIN
       Traitement à faire
    END
    Même chose pour le vidage de la mémoire occupée (DEALLOCATE)
    J'utilise SQL SERVER 2000

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonsoir,

    Vous pouvez tjrs utiliser la table système syscursors dans la base master qui vous donnera l'état de votre curseur. Attention cependant car c'est une table système non documentée.

    ++

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    Citation Envoyé par mikedavem Voir le message
    Bonsoir,

    Vous pouvez tjrs utiliser la table système syscursors dans la base master qui vous donnera l'état de votre curseur. Attention cependant car c'est une table système non documentée.

    ++
    je l'ai essayé mais mon système ne la reconnait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from syscursors
    il me donne :

    Server: Msg 208, Level 16, State 1, Line 1
    Invalid object name 'syscursors'.
    Il dopit peut- être y avoir d'auttes méthodes.

    Je travail avec SQL SERVER 2000.

  4. #4
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    La table syscursors se trouve dans la base de données master.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM master..syscursors
    ++

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    Citation Envoyé par mikedavem Voir le message
    La table syscursors se trouve dans la base de données master.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM master..syscursors
    ++
    Elle ne contient aucune ligne.

    Qu'est ce que ca veut dire lorsqu'elle ne contient aucune ligne ?

  6. #6
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Cela veut dire qu'il n'existe pas de curseur déclaré dans le contexte de votre connexion au moment où vous interrogez la table système syscursors

    Essayez ceci :

    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
    DECLARE C CURSOR FOR
    SELECT col1 FROM dbo.uneTable
     
    SELECT * FROM master..syscursors
     
    OPEN C
     
    SELECT * FROM master..syscursors
     
    CLOSE C
     
    SELECT * FROM master..syscursors
     
    DEALLOCATE C
     
    SELECT * FROM master..syscursors
    ++

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

Discussions similaires

  1. Vérifier si un formulaire est ouvert
    Par codial dans le forum Delphi
    Réponses: 2
    Dernier message: 02/03/2007, 15h52
  2. vérifier que une form est ouverte
    Par youcef_b_dz dans le forum Delphi
    Réponses: 2
    Dernier message: 23/08/2006, 17h41
  3. Vérifier si calc windows est ouverte ou pas???
    Par electrosat03 dans le forum Contribuez
    Réponses: 4
    Dernier message: 10/03/2006, 19h28
  4. Vérifier qu'un formulaire est ouvert
    Par com800 dans le forum WinDev
    Réponses: 2
    Dernier message: 07/04/2005, 20h27
  5. Vérifier si une form est ouverte
    Par nivet dans le forum Langage
    Réponses: 6
    Dernier message: 23/11/2004, 09h17

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