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

VB.NET Discussion :

Concaténation String en variables


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Par défaut Concaténation String en variables
    Bonjour,
    Je suis débutant en programmation, et je rencontre un petit soucis.
    J'aimerais pouvoir concaténer deux chaines et que VB reconnaisse cette nouvelle chaine comme une variable déclaré en global dans le programme, pour être ensuite utilisé dans une requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Tarata2 as Datetime //Ma variableGlobale
     
    Dim mavariable as string
     
    For cnt=0 to 6
         Mavariable = "Tarata" & cnt

    Puis que Mavariable soit reconnu comme tarata2 pour pouvoir executer une requete de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert into Table values ("Mavariable","12")

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 319
    Par défaut
    Bonjour

    J'ai rien compris a ta question... Y'a un bout de code (sans les balises [CODE], tu va te faire enguirlander!!!) qui traine, et c'est tout....

    ET si tu es debutant VB, va sur Le tuto VB. Tu y trouvera surement ton bonheur et plein d'autre chose.

    Nasty

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Par défaut
    Excuse moi pour les balises et si je n'ai pas était clair,
    J'ai des variables globales que je ne veux pas mettre dans un tableau
    HeureDebut1, HeureFin1,etc....

    Je voudrais concaténer une String et un chiffre du genre "HeureDebut" et 1.
    Or le résultat de cette concaténation est une string "HeureDebut1"
    Mais pas ma variable globale.

    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
     
     Dim HeureDebutCuis1, HeureDebutCuis2, HeureDebutCuis3, HeureDebutAss1, HeureDebutAss2, HeureDebutAss3, HeureDebutLiv1, HeureDebutLiv2, HeureDebutLiv3, HeureDebutLiv4, HeureDebutLiv5, HeureDebutLiv6, HeureDebutLiv7, HeureDebutLiv8 As DateTime
     Dim HeureFinC1, HeureFinC2, HeureFinC3, HeureFinA1, HeureFinA2, HeureFinA3, HeureFinL1, HeureFinL2, HeureFinL3, HeureFinL4, HeureFinL5, HeureFinL6, HeureFinL7, HeureFinL8 As DateTime
     
     
    Private Sub RemplirPrestation(ByVal DatePrestation As DateTime, ByVal dispo As Integer)
            Dim Employe As Integer
            Dim HeureDebAss, HeureFinA, HeureAccueil As String
     
     
            MonJeuDeDonnees.Tables.Clear()
            MaRequete = "Select Employe.identifiant from Employe,EstDispo where Employe.identifiant = EstDispo.identifiant and fonction = 'Accueil' and dispo = " & dispo & ""
            MaCommandeSpecialRequete.CommandText = MaRequete
            MonRemplisseur.SelectCommand = MaCommandeSpecialRequete
            MonRemplisseur.Fill(MonJeuDeDonnees, "MesAccueilsDispos")
            For cnt = 1 To NbAccueil
                Employe = MonJeuDeDonnees.Tables("MesAccueilsDispos").Rows(cnt - 1).Item(0)
                HeureDebAss = "HeurDebAss" & cnt
                HeureFinA = "HeureFinA" & cnt
                HeureAccueil = "HeureAccueil" & cnt
                DateCa = DateCa.Date
     
     
    MaRequete = "Insert into Prestation Values (" & DateCa & "," & dispo & "," & Employe & "," & HeureDebAss & "," & HeureFinA & ", " & HeureAccueil & ")"
                MaCommandeSpecialRequete.CommandText = MaRequete
                MaCommandeSpecialRequete.ExecuteNonQuery()

  4. #4
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Je n'ai pas compris grand chose non plus ^^

    Donne un exemple brut de ta requête comme si tu la faisais directement dans le gestionnaire de base de données et indique nous quelle partie te pose problème lors de la transposition dans ton code.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Alors déjà ta requête Insert est fausse, il faut bien que tu lui précises les champs dans lesquelles tu veux placer les valeurs ^^
    C'est plus un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert into Prestation Values (variable1, variable2,....) VALUES (" & DateCa & "," & dispo & "," & Employe & "," & HeureDebAss & "," & HeureFinA & ", " & HeureAccueil & ")"

  6. #6
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Citation Envoyé par sebnantes Voir le message
    Alors déjà ta requête Insert est fausse, il faut bien que tu lui précises les champs dans lesquelles tu veux placer les valeurs ^^
    C'est plus un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert into Prestation Values (variable1, variable2,....) VALUES (" & DateCa & "," & dispo & "," & Employe & "," & HeureDebAss & "," & HeureFinA & ", " & HeureAccueil & ")"
    Que nenni ! Tu peux ommettre de préciser les champs à insérer si tu suis l'ordre des champs de la table ^^

    source : ici

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Insert into Prestations Values ( 3/Jan/2011, midi, 9, 11:00,14:00,3)
    J'insere a une date donnée, pour un employé, une heure de début et une heure de fin, ainsi qu'un nombre d'heure

    Le probleme c'est que mes heures de début et de fin sont stocké dans des variables globales et que je voudrais boucler pour ne pas avoir a écrire cette requete beaucoup de fois.

    Mon champ Heure de Début provient d'une concaténation d'une chaine et d'un nombre. OR si je place ce résultat dans ma requette j'ai une valeur string du meme nom que ma variable mais qui n'est pas cette variable...
    Je sais pas si je suis clair..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim HeureDebut1,HeureDebut2,HeureDebut3.. as datetime 
    HeureDebut1 = 11:00
    Mes Variables Globales

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim HeureDebut as string
    For cnt = 1 To 10
      HeureDebut = "HeureDebut" & Cnt
    Et la j'utilise HeureDebut Dans ma requete qui devrait valoir 11:00 mais qui vaut "HeureDebut1"

  8. #8
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Aaaaaaaaaaaaah ! Ca y est, j'ai compris !!

    Pourquoi est-ce que tu n'utilises pas plutot un tableau ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim heuredebut() as datetime
    heuredebut(0) = 11:00
    heuredebut(1) = 12:00
    'etc
    Ensuite tu fais une boucle et tu peux extraire tes heures.

    Ce ne serait pas plus simple comme ça ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Par défaut
    Effectivement ça parait beaucoup plus simple comme cela,
    Par contre le code que tu m'as donné ne fonctionne pas..
    J'obtient une erreur quand j'essaie de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
     Dim HeureCuisinier() as Double
    HeureCuisinier(0)  =  3
    La référence d'objet n'est pas définie à une instance d'un objet.....

    Même Erreur sur un tableau Datetime

  10. #10
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Bonjour,

    En l'état le tableau est juste déclaré, non pas initialisé, pour ce faire il faut lui spécifier une taille si elle est connue ou si elle ne l'est pas passer par une collection dynamique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim HeureCuisinier(9) As Double 'Initialise un tableau de 10 (de 0 à 9) Double
    HeureCuisinier(0) = 3 'etc.
    'ou si taille non connue
    Dim HeureCuisinier As New List(Of Double)()
    HeureCuisinier.Add(3) 'etc.
    Cordialement !

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

Discussions similaires

  1. Concaténation string + variable
    Par Xandler dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/05/2009, 13h42
  2. [2000] Concaténation string
    Par Débéa dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 22/12/2006, 08h50
  3. concaténation du jour(variable) d'une date
    Par AIRONE dans le forum Access
    Réponses: 3
    Dernier message: 15/09/2006, 11h44
  4. Concaténation de 2 variables
    Par sirbaldur dans le forum Langage
    Réponses: 6
    Dernier message: 09/05/2006, 11h22
  5. Concaténation d'une variable dans une commande
    Par dreamanoir dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/03/2005, 17h08

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