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

MS SQL Server Discussion :

Séléctionner 1 ligne


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 192
    Par défaut Séléctionner 1 ligne
    Bonjour,

    Tout d'abord j'espère poster sur le bon forum.....
    débutant en vbscript je souhaite récupérer la première ligne de la requeête que j'éxécute.
    D'après la FAQ il faut utiliser TOP, mais ma requête suivante ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Set colItems = objWMIService.ExecQuery("Select TOP1 * from Win32_PnPEntity WHERE Description like '%Broadcom%'")
    d
    Merci pour votre aide

  2. #2
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    C'est à moitié pas le bon forum, mais il n'y en a peut-être pas de mieux

    Ok, tu fais une requête WMI, je ne sais pas si elle supporte le TOP, mais si elle le supporte, tu dois mettre un espace entre TOP et 1.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 192
    Par défaut
    même avec l'espace cela ne fonctionne pas
    Si tu as une autre idée.....?

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    juste un truc : c'est quoi l'erreur ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 192
    Par défaut
    voicis le script en entier

    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
     
    Dim Item
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    'création d'un fichier
    Set ObjFso=CreateObject("Scripting.FileSystemObject")
    Set objFile = ObjFso.CreateTextFile("c:\list.txt")
     
    Set colItems = objWMIService.ExecQuery("Select TOP 1 * from Win32_PnPEntity WHERE Description like '%Broadcom%'")
     
    For Each objItem in colItems
        objFile.WriteLine "Class GUID: " & colItems.ClassGuid
        objFile.WriteLine "Description: " & objItem.Description
        objFile.WriteLine "Device ID: " & objItem.DeviceID
        objFile.WriteLine "Manufacturer: " & objItem.Manufacturer
        objFile.WriteLine "Name: " & objItem.Name
        objFile.WriteLine "PNP Device ID: " & objItem.PNPDeviceID
        objFile.WriteLine "Service: " & objItem.Service
    Next
    l'érreur c'est un nombre héxa mais il me dit érreur ligne 12, et quand j'enlève le TOP 1 le script s'éxécute

  6. #6
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Le SQL supporté par WMI n'est pas Transact-SQL, mais un subset du SQL ANSI. La syntaxe TOP n'est pas ANSI, c'est une extension T-SQL, donc il est bien possible que ce ne soit simplement pas supporté.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    Ouaip...

    D'abord ta requete, en terme de syntaxe pure est correct.
    Après je comprends pas l'utilité de faire une requete qui potentiellement te ramène plusieurs enregistrements et se restreindre qu'au premier...

    Bref, tu as deux solutions je pense :

    1- Soit ta requete tu la mets dans une procédure stockée, puis tu l'executes avec ton objet WMI. T'auras qu'une ligne.

    2- Soit tu vires le TOP 1, tu récupéres toutes les lignes dans un recordset, mais tu ne lis que le premier. C'est un peu idiot comme méthode mais bon, elle marchera.

    Ensuite, juste un conseil : évite les "select *" quand ensuite, tu fais référence à des noms de colonnes. Précise chacune des colonnes dans ton select, c'est mieux...

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 25/08/2011, 16h48
  2. [XL-2007] Probléme pour séléctionner une ligne sur trois dans une colonne
    Par ro31hg dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/02/2010, 20h48
  3. Afficher un tableau et séléctionner des lignes
    Par thierryler dans le forum JSF
    Réponses: 1
    Dernier message: 25/03/2009, 10h38
  4. Séléctionner une ligne dans le DBgrid
    Par And_res dans le forum Débuter
    Réponses: 1
    Dernier message: 07/10/2008, 10h09
  5. Réponses: 0
    Dernier message: 20/12/2007, 16h22

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