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

Scripts/Batch Discussion :

Bad numeric constant [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut Bad numeric constant
    Bonjour.

    Je ne comprends pas, j'ai 2 morceaux dans mon code quime paraissent identiques et pourtant, un fonctionne pas l'autre.
    Celui qui marche :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    $body = $body + "`r`n" + [datetime]::ParseExact(($DataSetMessage.tables[0].rows[$i]["jour"]),"yyyy-MM-dd",$null).ToShortDateString() +...
    Avec :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Write-Host $DataSetMessage.tables[0].rows[$i]["jour"]
    ##donne 2018-11-26
    Write-Host $DataSetMessage.tables[0].rows[$i]["jour"].gettype().Name
    ##donne String

    Celui qui ne marche pas :
    Bad numeric constant: 26/11/2018
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $bodyCoeur = $bodyCoeur + "`r`n" 
    + [datetime]::ParseExact(($DataSetInfosAdmn.tables[0].rows[$i]["debut"]),"yyyy-MM-dd",$null).ToShortDateString()

    Avec :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Write-Host $DataSetInfosAdmn.tables[0].rows[1]["debut"]
    ##donne 2018-11-26
    Write-Host $DataSetInfosAdmn.tables[0].rows[1]["debut"].gettype().Name
    ##donne String

    Je désespère.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Je pense avoir résolu une partie.
    Il faut la concaténation du $bodyCoeur se fasse sur une même ligne.
    J'ai un dernier soucis (avant les prochains).

    Je n'arrive pas à comparer 2 lignes successives d'une dataset.
    Ci dessous la valeur $i+1 n'est pas interprétée.

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    do
    ...
    while ($DataSetInfosAdmn.tables[0].rows[$i]["mail"]==$DataSetInfosAdmn.tables[0].rows[$i+1]["mail"])
    Je ne suis d'ailleurs par sûr que mon do ... While() soit bon.

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    pour le second c'est l'opérateur -EQ et pas == qui est du C#...

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Merci beaucoup.
    Quel âne je fais.

    J'ai un dataset avec des lignes de la forme :

    mail1, message A
    mail1, message B
    mail2, message C
    mail3, message B
    mail4, message C
    mail4, message B

    Ce dataset est trié par adresse mail.
    Je souhaite n'envoyer qu'un mail à chaque destinataire.
    par exemple pour le mail1, je souhaite que le corps du message, soit un concaténation des messages A et B.

    Mon code ne fonctionne pas.
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for ($i=0;$i -le $DataSetInfosAdmn.tables[0].rows.count - 1;$i++)
    	{
    		Try
    		{
    		Do {
    ...
    		} while ($DataSetInfosAdmn.tables[0].rows[$i]["mail"] -EQ $DataSetInfosAdmn.tables[0].rows[$i+1]["mail"])
    ...
    		}
    		Catch{...

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonjour.
    C'est un simple :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If($i -eq $+1){
    je concatène
    }else{
    j''envoie
    }

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

Discussions similaires

  1. [Toutes versions] Retour de la constante xl en string et pas en numeric
    Par patricktoulon dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 05/04/2015, 00h26
  2. requete SELECT avec un nombre constant
    Par gurumeditation dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/07/2003, 20h04
  3. Gestion des constantes
    Par valfredr dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/06/2003, 16h23
  4. [ADO] Constantes des types de champ
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/09/2002, 11h08
  5. Au sujet des constantes
    Par FranT dans le forum Langage
    Réponses: 8
    Dernier message: 09/08/2002, 11h03

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