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

ASP.NET Discussion :

sqldatasource avec paramètre qui vaut null


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2006
    Messages : 107
    Par défaut sqldatasource avec paramètre qui vaut null
    Voici le select de ma sqldatasource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT ID_CUSTOMER, NAME, PHONE, NOTES, SUBSTR(NOTES, 0, 10) AS NOTE, SUBSTR(INFO_CONNECT1, 0, 10) AS INFO1, SUBSTR(INFO_CONNECT2, 0, 10) AS INFO2, INFO_CONNECT1, INFO_CONNECT2 FROM HDCUSTOMER WHERE (ACTIVE = 'O') 
    AND ( NAME LIKE '%'||:pNAME||'%') ORDER BY NAME
    Cette sqldatasource me sert a alimenter une gridview.

    met quand le paramètre vaut null (il est rattaché a la valeur d'une texbox) soit quand la textbox est vide, la gridview est vide le select ne me ramène rien

    J'ai même essayé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT ID_CUSTOMER, NAME, PHONE, NOTES, SUBSTR(NOTES, 0, 10) AS NOTE, SUBSTR(INFO_CONNECT1, 0, 10) AS INFO1, SUBSTR(INFO_CONNECT2, 0, 10) AS INFO2, INFO_CONNECT1, INFO_CONNECT2 FROM HDCUSTOMER WHERE (ACTIVE = 'O') 
    AND ( :pNAME is null OR  NAME LIKE '%'||:pNAME||'%') ORDER BY NAME
    Mais sans résultat ...

    J'utilise une base oracle avec System.Data.OracleClient.

    Une idée ?

  2. #2
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 194
    Par défaut
    Je n'ai pas bien compris ta question, mais je crois que tu veux que lorsque ton TextBox soit vide, tu ramènes tous tes customer.

    si c'est ça, alors je te propose deux solutions:

    1- ecrire une procédure stockée (ou une requète à laquelle tu peux donner un parametre qui est le "Name"), et tu teste dans ta procédure ou ta requete si le paramètre donné est null ou pas. s'il est null tu retourne toutes la table (ta requete ne contient pas de where). sinon tu exécute la requete que tu as déja ecris.

    2- au lieu d'utiliser un sqlDataSource, tu utilises un ObjectDataSource, tu crée une classe pour ta table qui contient une fonction qui retourne la table Customer. tu donnes comme parametre à ta fonction le "Name" et tu testes sur la valeur donnée, si c'est null tu retiurne toute la table ...etc etc...

    voila, j'espère que ça t'aidera.

    tiens moi au courant.

  3. #3
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Quant la textbox est vide normalement ça vaut
    string.Empty

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2006
    Messages : 107
    Par défaut
    Citation Envoyé par Skyrunner Voir le message
    Quant la textbox est vide normalement ça vaut
    string.Empty
    Ce qui expliquerait que le where NAME like '%:pNAME%' ne ramène rien car :pNAME n'est pas null au sens Oracle ...

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2006
    Messages : 107
    Par défaut
    Bon ben j'ai modifié la SelectCommand du sqldatasource quand le textBox vaut Null or empty

Discussions similaires

  1. Requête avec jointure qui retourne null si pas de valeur
    Par jubourbon dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/09/2011, 11h10
  2. requête avec paramètre qui marche pas
    Par funkyjul dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/04/2008, 13h37
  3. SqlDatasource avec paramètre C#
    Par remy77 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 18/07/2007, 11h14
  4. [Hibernate] Insertion avec paramètres null
    Par kephy dans le forum Hibernate
    Réponses: 5
    Dernier message: 14/02/2007, 09h22
  5. PB avec une CComboBox qui vaut 0x00000000 !!
    Par chaser_T dans le forum MFC
    Réponses: 1
    Dernier message: 29/12/2005, 18h29

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