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 :

La référence d'objet n'est pas définie à une instance d'un objet


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Par défaut La référence d'objet n'est pas définie à une instance d'un objet
    Bonjour à tous,

    Voila, j'ai un problème lors de l'éxéctution d'un programme en C#

    La référence d'objet n'est pas définie à une instance d'un objet
    Je ne comprend pas d'ou vien mon erreur. Voici la partie du code ou il y a erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //On arrondi la entree 0 soit false
    Object heureArondi = this.queriesTableAdapter1.F_ROUND_TIME(heure_a_arrondir,tps_d_arrondi, 0);
    heureArondi.ToString();
    dataGridView1.Rows[i].Cells[0].Value = heureArondi;
    ici le code de la fonction utilisé dans SQLServer pour arrondi le temps:

    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
     
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    ALTER FUNCTION [dbo].[F_ROUND_TIME] (@DT DATETIME, @ROUND_HMS CHAR(8), @CEIL INT)
       RETURNS DATETIME
    AS
    BEGIN
    DECLARE @D DATETIME, @T FLOAT;
    SET @T = CAST(CAST('19000101 ' + @ROUND_HMS AS DATETIME) AS FLOAT);
    SET @D = CASE @CEIL
                WHEN 0 THEN CAST(FLOOR(CAST(@DT AS FLOAT) / @T) * @T AS DATETIME)
                WHEN 1 THEN CAST(CEILING(CAST(@DT AS FLOAT) / @T) * @T AS DATETIME)
                ELSE @DT
             END
    RETURN @D
    END
    j'ai déclarer heureArondi en DateTime mais il me dit on ne peut déclarer un Odject en Datetime donc j'ai mis Object pour ensuite faire un toString() pour l'afficher dans un tableau.

    Voici les type de valeur:

    tps_d_arrondi en String de la forme 00:15:00 (15 min)
    heure_a_arrondir en DateTime de la forme 01/01/1900 00:00:00

    Pas d'erreur à la compilation mais erreur à l'exécution.

    Quel est le problème ?

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Tu es sur que ta requête retourne un résultat?

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Par défaut
    alors lorsque je la teste sur "Aperçu des données" oui !

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Par défaut
    Citation Envoyé par siro1 Voir le message
    alors lorsque je la teste sur "Aperçu des données" oui !

    tps_d_arrondi 00:05:00
    heure_a_arrondir 00:44:43

    résultat : 00:45:00

    donc ça doit marcher

  5. #5
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    c 'est une probleme d'initialisation d'objet verifie ton code ;
    avant de faire les manipulation sur ton object verifie son valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Object heureArondi = this.queriesTableAdapter1.F_ROUND_TIME(heure_a_arrondir,tps_d_arrondi, 0);
    if (heureArondi != null )
    {
      heureArondi.ToString();
     
      dataGridView1.Rows[i].Cells[0].Value = heureArondi;
    }
    en plus verifier si existe une valeur indexe par i dans ta Datagridview

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Par défaut
    En effet, après le teste mon heureArondi est a null. Mais comment c'est possible ? puisque j'ai tester la fonction F_ROUND_TIME qui fonctionne bien. . .

  7. #7
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    tu peut me donner ton code complet !!!

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/09/2007, 10h38
  2. Réponses: 2
    Dernier message: 09/09/2007, 14h25
  3. Réponses: 8
    Dernier message: 04/06/2007, 16h20
  4. Réponses: 24
    Dernier message: 01/06/2007, 09h26
  5. Réponses: 8
    Dernier message: 11/07/2006, 17h27

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