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 :

Problème de conversion d'une chaîne en type 'Integer' invalide


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club Avatar de ideox
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2014
    Messages : 47
    Points : 32
    Points
    32
    Par défaut Problème de conversion d'une chaîne en type 'Integer' invalide
    Bonsoir, je rencontre un soucis,
    Le problème est le suivant :
    Je veux récupérer une information d'une colonne liée à une valeur entrée exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Conn = New SqlConnection("Server=" & TextIP.Text & ";Database=PS_GameDefs;User Id=" & TextUserConn.Text & ";Password=" & TextPassConn.Text & ";")
     
            Conn.Open()
            Query = "Select * from PS_GameData.dbo.Chars where CharName='" & TextBox1.Text & "'"
     
            Cmd = New SqlCommand(Query, Conn)
            Rd = Cmd.ExecuteReader
            While Rd.Read
                GetCharID.Text = Rd.GetInt32("CharID")
            End While
            Conn.Close()
    De ce fait mon label crachera la valeur CharID liée au CharName entré.
    Mais un message d'erreur apparaît
    La conversion de la chaîne "CharID" en type 'Integer' n'est pas valide.
    Pourtant ayant utilisé ce procéder sous mysql, sur sql cela ne marche pas.

    Merci

  2. #2
    Expert confirmé
    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 : 41
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Les fonctions Get[DataType] de l'objet DataReader demandent un indice (un nombre entier strictement positif) en paramètre et pas une chaîne de caractère...
    Kropernic

  3. #3
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Il faut donc utiliser la fonction GetOrdinal et passer par les requêtes paramétrées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            Conn = New SqlConnection("Server=" & TextIP.Text & ";Database=PS_GameDefs;User Id=" & TextUserConn.Text & ";Password=" & TextPassConn.Text & ";")
     
            Conn.Open()
            Query = "Select * from PS_GameData.dbo.Chars where CharName = @CharName" 
            Cmd = New SqlCommand(Query, Conn)
            Cmd.Parameters.Add("@CharName", SqlDbType.VarChar).Value = TextBox1.Text
            Rd = Cmd.ExecuteReader
            Dim CharID As Integer = reader.GetOrdinal("CustomerID") 
            While Rd.Read
                GetCharID.Text = Rd.GetInt32(CharID) 
            End While

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/12/2011, 08h38
  2. [vbnet] problème de conversion dans une datagrid
    Par Jsh dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/09/2005, 12h40
  3. Conversion d'une chaîne en tableau d'octets
    Par marsupilami34 dans le forum Langage
    Réponses: 11
    Dernier message: 22/06/2005, 14h44
  4. [datetime] conversion d'une chaîne en une date + heure
    Par jean-jacques varvenne dans le forum Général Python
    Réponses: 2
    Dernier message: 07/04/2005, 10h43
  5. Problème d'affichage d'une chaîne à l'écran
    Par Bubonik software dans le forum C
    Réponses: 7
    Dernier message: 08/05/2004, 20h47

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