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 :

Condition si & requete sql


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut Condition si & requete sql
    Bonjour,
    J'ai pas trouvé une solution pour la condition if . Je veux si la requête ne retourne pas une ligne je fais le traitement 1 si elle retourne je fais le traitement 2.
    Mais mon problème que si je test la requete dans SQL SERVER j'ai la valeur de retour "NULL" si pas de ligne si non j'ai bien sur une valeur.
    merci de m 'aider pour trouver la bonne condition (if).La condition de mon code si dessous ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim dst As New DataSet
                Dim adpt As New SqlDataAdapter("SELECT COUNT(DISTINCT[FNDOC])  FROM [Base-Ets-Mtiri].[dbo].[ENTETEFACTURE] where FDATOP>='" & i1 & "' and FDATOP<='" & i2 & "'", connexion.con)
                adpt.Fill(dst, "table")
     
     If (dst.Tables("table").Rows(0).Item(0) = "NULL") Then
     
                    traitement1
                Else
     
                    traitement2
     
                End If

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2010
    Messages : 132
    Par défaut
    bonsoir,

    il semblerait que ta requete renvoie un scalaire, pas une table, aussi, ca n'a pas vraiment de sens de chercher à savoir si elle renvoie des lignes puisqu'elle renvera toujours une et une seule ligne avec une et une seule colonne dont la valeur sera un entier >=0, il faut plutot tester la valeur du scalaire.

    oriente toi vers ExecuteScalaire plutot que vers un SqlDataAdapter, tu n'auras pas besoin de tables pour lire le résultat.

    sache aussi que la requete SQL elle même peut inclure des conditions IF/ELSE/SELECT...

    zebrette

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut
    Citation Envoyé par zebrette Voir le message
    bonsoir,

    il semblerait que ta requete renvoie un scalaire, pas une table, aussi, ca n'a pas vraiment de sens de chercher à savoir si elle renvoie des lignes puisqu'elle renvera toujours une et une seule ligne avec une et une seule colonne dont la valeur sera un entier >=0, il faut plutot tester la valeur du scalaire.

    oriente toi vers ExecuteScalaire plutot que vers un SqlDataAdapter, tu n'auras pas besoin de tables pour lire le résultat.

    sache aussi que la requete SQL elle même peut inclure des conditions IF/ELSE/SELECT...

    zebrette
    Merci mais comment je fais la condition de verification s il y a un valeur de retour?

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par oami89 Voir le message
    Merci mais comment je fais la condition de verification s il y a un valeur de retour?
    Il n'y a aucune vérification à faire ici puisque il s'agit d'une fonction d'agrégat (count) qui retourne toujours une valeur.

    Donc :
    - ça n'a pas de sens d'utiliser un DataAdapter dans ce contexte.
    - utiliser un objet SqlCommand, exécuter la requête avec la méthode ExecuteScalar et caster le retour de la méthode (qui est de type object)vers un entier.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2010
    Messages : 132
    Par défaut
    Essaie ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim oCmd As SqlCommand = New SqlCommand(TaRequete, Taconnection)
    Taconnection.Open()
    Dim CompteResultats as integer = oCmd.ExecuteScalar
    Taconnection.Close()
    if CompteResultats = 0 then
            'traitement1
    else
            'traitement2
    End if

Discussions similaires

  1. condition sur la requete sql : is nothing
    Par ciara dans le forum VB.NET
    Réponses: 2
    Dernier message: 22/09/2009, 15h08
  2. condition dans une requete sql
    Par khayate dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/06/2007, 12h26
  3. Double condition dans une requete SQL
    Par quatar dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 29/05/2007, 16h22
  4. conditions dans une requete sql
    Par beve dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/05/2007, 14h29
  5. [MySQL] Condition pour une Requete sql vide
    Par needles94000 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/03/2006, 18h03

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