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

C# Discussion :

Objet vide return null.


Sujet :

C#

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2013
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 14
    Points : 4
    Points
    4
    Par défaut Objet vide return null.
    Bonjour,

    dans mon application, je crée un objet Tuba que je remplit grâce à une DataTable. Cependant je souhaite gérer le cas ou l'utilisateur rentre un code qui ne correspond à aucun tuba.
    Actuellement mon code me renvoie un objet Tuba vide, mon objectif serait de renvoyer "null" si mon objet est vide.

    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
    public Materiel GetTubaByCode(string codeTuba)
    {
    	try
    	{
    		DataAccess.Oradb tubaByCode = new DataAccess.Oradb();
    		DataTable dt = tubaByCode.GetTubaDatabase(codeTuba)
    		Tuba tuba = new Tuba();
     
    		foreach(DataRow row in dt.Rows)
    		{
    			tuba.Nom = row["nom_tuba"].tostring();
    		}
    		return tuba;
    	}
    	catch(Exception ex)
    	{
    		throw new Exception("Error", ex);
    	}
    }
    Merci d'avance!

  2. #2
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Pourquoi pas qq chose du genre :

    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
    21
     
    public Materiel GetTubaByCode(string codeTuba)
    {
    	try
    	{
    		DataAccess.Oradb tubaByCode = new DataAccess.Oradb();
    		DataTable dt = tubaByCode.GetTubaDatabase(codeTuba)
    		Tuba = null;
     
    		foreach(DataRow row in dt.Rows)
    		{
                            tuba = new Tuba();
    			tuba.Nom = row["nom_tuba"].tostring();
    		}
    		return tuba;
    	}
    	catch(Exception ex)
    	{
    		throw new Exception("Error", ex);
    	}
    }
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Petite question supplémentaire, cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DataTable dt = tubaByCode.GetTubaDatabase(codeTuba)
    peut-elle te renvoyer plus d'une ligne ?
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2013
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par infosam76 Voir le message
    Petite question supplémentaire, cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DataTable dt = tubaByCode.GetTubaDatabase(codeTuba)
    peut-elle te renvoyer plus d'une ligne ?
    Dans ce cas non car le code est unique mais je dispose d'autre méthode qui accepte les DataTable avec plusieurs lignes.

    Je ne comprend pas bien ton exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Tuba = null;
     
    		foreach(DataRow row in dt.Rows)
    		{
                            tuba = new Tuba();
    			tuba.Nom = row["nom_tuba"].tostring();
    		}
    		return tuba;
    Tu assignes la valeur null a Tuba et tu le remplis par la suite ? Mon objectif est de renvoyé null et non un objet Tuba vide.

    Merci d'avance!

  5. #5
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Bonjour.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Tuba = null;
     
    		foreach(DataRow row in dt.Rows)
    		{
                            tuba = new Tuba();
    			tuba.Nom = row["nom_tuba"].tostring();
    		}
    		return tuba;
    Lorsqu'il fait cela il instancie un objet tuba uniquement si ta requête retourne quelque chose. Si ta dataTable est vide, Tuba reste a null et est envoyé en retour.

  6. #6
    Candidat au Club
    Inscrit en
    Octobre 2013
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Le code doit plutôt ressembler à ceci non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Tuba  myTuba = new Tuba();
    myTuba = null;
     
    		foreach(DataRow row in dt.Rows)
    		{
                            myTuba = new Tuba();
    			myTuba.Nom = row["nom_tuba"].tostring();
    		}
    		return myTuba;
    Sinon une erreur apparait : Tuba est un 'type' mais est utilisé comme un 'variable'.

    Mon code est-il bon ?

    Merci encore !

  7. #7
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Tuba  myTuba = null;
     
    		foreach(DataRow row in dt.Rows)
    		{
                            myTuba = new Tuba();
    			myTuba.Nom = row["nom_tuba"].tostring();
    		}
    		return myTuba;

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

Discussions similaires

  1. [debutant][erreur] pas un Objet ou valeur Null
    Par Tempotpo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/04/2006, 16h17
  2. conserver ma liste d'objets sans Pointeur Null ...
    Par comme de bien entendu dans le forum Général Java
    Réponses: 8
    Dernier message: 24/03/2006, 11h55
  3. [8i]Chaine vide et NULL
    Par payenneville dans le forum Oracle
    Réponses: 10
    Dernier message: 26/01/2006, 18h55
  4. Pointeur intelligent boost : return NULL ->comment faire?
    Par choinul dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 21/12/2005, 16h24
  5. Intercepter des objets "vides".
    Par CRUSOE13 dans le forum Access
    Réponses: 9
    Dernier message: 27/06/2005, 00h08

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