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

Visual Studio Discussion :

Problème sur un champ


Sujet :

Visual Studio

  1. #61
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Il faut que tu formates la chaine (en l'occurence 1) que tu récupères.
    Va sur MSDN il y a une doc sur le formatage.
    Prends l'habitude d'aller sur MSDN, tu as les docs complètes de toutes les classes, des tutos, des exemples

  2. #62
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Allez cadeau
    string.Format("{0:000}", rader["IN_NUMINTER"])
    et tu auras 1 au format 001

    Qu'est ce qui ne marche pas avec la concaténation de la date?

  3. #63
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    Merci pour ton cadeau mais cela m'affiche toujours 1.
    Faut bien que je le mette au niveau de ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NumInter.Text = Convert.ToString(...)
    mais il m'affiche aucune erreur.

    Pour la concaténation, ce qui fonctionne pas c'est ce que j'ai rajouté c'est à dire que ca me donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    command = new SqlCommand("SELECT ISNULL(MAX(SUBSTRING(IN_NUMINTER, 12,3)),'" + DateTime.Today.ToShortDateString()+ "'"001)AS IN_NUMINTER FROM INTERVENTION WHERE (SUBSTRING (IN_NUMINTER,0,11)) = '" + DateTime.Today.ToShortDateString()+ "'", connection);
    et les erreurs sont les suivantes :
    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(41): ) attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(41): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(41): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(41): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(41): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(41): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(41): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(41): Nouvelle ligne dans la constante

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(41): Terme d'expression non valide ')'

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(41): Trop de caractères dans le littéral de caractère
    je ne sait par ou commencer pour résoudre ce problème!!

    merci d'avance!!

  4. #64
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Mais nan te fais pas chier à modifier la requête, tu concatènes directement dans le textbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NumInter.Text = DateTime.Today.toshortstring() + " - " + string.Format("{0:000}", rader["IN_NUMINTER"]);

  5. #65
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    Ok, c'est vrai que c'est plus pratique de faire comme ça!!
    Mais j'ai toujours le souci du nombre qui se met à 1 au lieu de 001.
    Comment je peux faire car le format pourtant m'a l'air correste.

    Bizarre tout ça!!

    merci d'avance!!

  6. #66
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Essaye de caster l'objet de la base en int
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string.Format("{0:000}", int.Parse(rader["IN_NUMINTER"].toString()));

  7. #67
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNate
    C bon ça fonctionne comme je le souhaité mais j'ai le problème suivant : si l'intervention "30/01/2008-001" existe déja, faudrait que "001" devienne "002" et ainsi de suite (c'est à dire que si le "002" existe, il faut que ce soit "003"...)

    Merci d'avance!!

  8. #68
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    ????? Tu viens de faire une requête pour récupérer le max ! Comment veux-tu qu'elle existe?

  9. #69
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    Donc si je comprend bien, même si "30/01/2008-001" existe il me le notera "30/01/2008-002", c'est ça??

    Mais le problème c'est que je vient d'essayer avec "30/01/2008-001" et "30/01/2008-002" inséré dans ma base de données mais le problème c'est qu'il m'affiche "30/01/2008-002" dans la TextBox alors qu'il me faudrait plustôt qu'il m'affiche "30/01/2008-003"??!!

    merci d'avance!!

  10. #70
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Un +1 dans ta requête

  11. #71
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse LaNat
    C bien ce qu'il me semblait mais je voyais pas trop ou le mettre mais j'ai réussit c'est bon!!

    merci beaucoup pour tout!!

  12. #72
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut relance du sujet, car un problème est survenue
    Bonjour tout le monde,

    voila je me permet de relancer ce sujet car ce code suivant :
    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
    22
    23
    24
    25
    26
    27
    SqlConnection connection;
    			SqlCommand command;
    			SqlDataReader rader;
     
    			// Code permettant d'incrémenter la TextBox 
    			// correspondant au Numéro des interventions.
    			connection = new SqlConnection("Data Source=DIST-5B8D87E3A9;Initial Catalog=DistribInfo;Integrated Security=SSPI");
    			command = new SqlCommand("SELECT ISNULL(MAX(SUBSTRING(IN_NUMINTER, 12,3))+1,001)AS IN_NUMINTER FROM INTERVENTION WHERE (SUBSTRING (IN_NUMINTER,0,11)) = '" + DateTime.Today.ToShortDateString()+ "'", connection);
    			connection.Open();
    			try
    			{
    				rader = command.ExecuteReader();
    				try
    				{
    					while (rader.Read()) 
     
    						NumIntervention.Text = DateTime.Today.ToString("yyyy/MM/dd") + "-" + string.Format("{0:000}", int.Parse(rader["IN_NUMINTER"].ToString()));
    				}
    				finally
    				{
    					rader.Close();
    				}
    			}
    			finally
    			{
    				connection.Close();
    			}
    Dans mon application NumIntervention est un label maintenant.
    Le problème c'est que ce code ne fonctionne plus c'est à dire qu'il m'affiche toujours "date du jour - 001".

    EXEMPLE : Si 20/02/2008-001 est déja réalisé ben le problème c'est qu'il ne le voit pas. donc il me r'affiche "20/02/2008-001".

    merci d'avance pour votre aide.

  13. #73
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Le fait que ton composant soit un label au lieu d'un textBox ne pose pas de problème

  14. #74
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    ben alors pourquoi ca fonctionne plus maintenant??

  15. #75
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    T'as rien changé dans ta base? (nom de colonne, etc...)
    Ta requête ressemble à quoi dans l'espion du debug?

  16. #76
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    Ben concernant la table INTERVENTION je n'ai rien changé.

    Sinon lorsque je fais un espion, ça me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ISNULL(MAX(SUBSTRING(IN_NUMINTER, 12,3))+1,001)AS IN_NUMINTER FROM INTERVENTION WHERE (SUBSTRING (IN_NUMINTER,0,11)) = '20/02/2008'
    merci d'avance!!

  17. #77
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Ca donne quoi qd tu l'exécutes dans SQL Server?

  18. #78
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    Lorsque j'exécute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ISNULL(MAX(SUBSTRING(IN_NUMINTER, 12,3))+1,001)AS IN_NUMINTER FROM INTERVENTION WHERE (SUBSTRING (IN_NUMINTER,0,11)) = '20/02/2008'
    dans SqlServer, il me donne :
    Sinon dans ma table intervention j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	2008/02/15-001	hf	hf	1	carte graph		site	gr                                                	vivien              	19/02/2008						
    	2008/02/20-001	Mc	Mc	5	rrgre	demande	Site
    merci d'avance!!

  19. #79
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Tes dates ne sont pas au même format dans ta requête et dans ta base, du coup il trouve pas de résultat, donc il te met 001

  20. #80
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    Ok.

    Mais comment je peux faire pour mettre tout au format "année/mois/jour" ??

    merci d'avance!!

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

Discussions similaires

  1. Problème sur un champ multi-ligne
    Par seurjer dans le forum iReport
    Réponses: 6
    Dernier message: 29/11/2012, 16h06
  2. Problème sur un champ SELECT dans une servlet
    Par kcizth dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 13/03/2008, 16h47
  3. Réponses: 1
    Dernier message: 02/03/2008, 22h04
  4. [WD9] problème sur un champ de saisie
    Par loic20h28 dans le forum WinDev
    Réponses: 6
    Dernier message: 25/02/2008, 15h18
  5. Problème sur un champ de type numéro-incrémenté
    Par loic20h28 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/01/2008, 09h19

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