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

Windows Forms Discussion :

[VB.NET] [SQL] Retour d'un SELECT pour un IF/ELSE


Sujet :

Windows Forms

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 14
    Par défaut [VB.NET] [SQL] Retour d'un SELECT pour un IF/ELSE
    Bonjour.

    Je fait un SELECT d'une donnée dans une base.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     temp = SELECT compt FROM People where batiment="ecole" and etage="2" and bureau = "classeA"
    je ne dois recupérer qu'un "1" ou un "0" (TRUE/FALSE).

    Comment puis je faire pour récupérer la valeur et vérifier sont état.

    Merci d'avance.

    Bonne journée

  2. #2
    Membre extrêmement actif Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Par défaut
    Hello,

    Bien que ton énoncé soit un peu vague....

    Lorsque tu exécute une requête SQL le résultats est renvoyé sous forme de 1 ou plusieurs lignes dans la table People.

    Donc il faut parcourir les lignes et analyser le champs souhaité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim oDataRow as System.Data.DataRow
     For Each oDataRow In MonDataSet.Tables("People").Rows
      If oDataRow.Item("MonChampATester") = 0 Then
         'Code à réaliser si False
      Else
         'Code à réaliser si True
      End If
     Next
    Voilà.

    Selon ton exemple il est préférable de mettre "SELECT * FROM People..."

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Par défaut
    pourquoi faire un SELECT * s'il n'a besoin que d'une variable BOoléenne ?

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 14
    Par défaut
    pourquoi ne pas utiliser un dataview pour les filtres
    c'est tres simple, voici un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim Matable As DataTable
    Matable = DtSet.Tables("People")
     
    'cree un objet dataview pour filtrer les enregistrements
    Dim filtre As New DataView(Matable)
    'applique le filtre
    filtre.RowFilter = "batiment like 'ecole' and etage like '2' and bureau like 'classeA'
     
    'recupere la valeur 
    dim varcompt as string
    varcompt=  filtre.Item(0)("compt")
    a+
    chris

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Par défaut
    Mais vous répondez à coté je crois

    Son problème c'était juste récupérer la valeur d'une requete SQL

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 14
    Par défaut
    aie aie aie

    Tout juste SoaB. je veux juste savoir la valeur du select. Ce SELECT ne dois retourner qu'une et une seul valeur (TRUE ou un FALSE). Mais voila, commetn puis je la mettre dans une variable pour par la suite la comparer la vérifier.

    Je comprend le principe du dataRow mais comment dois faire la connection dans se cas la.
    Que dois je utiliser?? (.ExecuteNonQuery())?? Et sur quoi??

    Merci bien

  7. #7
    Membre confirmé Avatar de dupin40
    Profil pro
    Inscrit en
    Août 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 102
    Par défaut
    Dans ce cas utilise plutot un ExecuteScalar() si tu es certain que ton select ne te retourne qu'une seule valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string resultat = cmd.ExecuteScalar().ToString();

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 14
    Par défaut
    OK Merci, ca fonctionne...

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

Discussions similaires

  1. SQL question d'insert + SELECT (ASP.NET 1.1 c# + SQL)
    Par Seth_75 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 25/08/2008, 14h19
  2. Réponses: 2
    Dernier message: 27/06/2008, 10h03
  3. [Vb.net][SQL]procédure et valeur de retour
    Par Ouija33 dans le forum VB.NET
    Réponses: 3
    Dernier message: 19/03/2008, 17h00
  4. Réponses: 4
    Dernier message: 05/06/2007, 08h47

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