Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité de passage
    Homme Profil pro K.
    Inscrit en
    janvier 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Nom : Homme K.
    Localisation : Canada

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2012
    Messages : 8
    Points : 2
    Points
    2

    Par défaut Problème avec le get "long" de ADO.NET

    Salut
    j'arrive a bien recuperer une valeur string de ma base de donne access mais je n'arrive pas a recupere une valeur numerique.

    access 2003
    visual studio express 2010

    Code :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    Imports System
    Imports System.Data
    Imports System.Data.OleDb
     
    Public Class FichierCentral
     
        Dim conn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Settings.PathBD)
        Dim connSql As OleDbCommand = conn.CreateCommand()
     
    	dim TableauAffiche(10) As Long
     
    	Private sub chargerLesActions() 
     
            Dim xx As Integer
     
            conn.Open()
     
                xx = 1
     
                connSql.CommandText = "SELECT POURCENTAGE FROM ACTIONX WHERE TCID=" & FicheImpliquer & " ORDER BY HIERARCHIE ASC"
     
                Dim connCap As OleDbDataReader = connSql.ExecuteReader()
     
                Do While connCap.Read() 
     
                        TableauAffiche(xx) = connCap.GetInt64(0)
                        xx = xx + 1
     
                Loop
     
                connCap.Close()
     
            conn.Close()
     
            ChargerLesActions = 1
     
       End Function
     
    End Class
    Merci d'avance

  2. #2
    Rédacteur/Modérateur



    Homme Profil pro Thomas Levesque
    Développeur .NET
    Inscrit en
    février 2004
    Messages
    19 198
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas Levesque
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2004
    Messages : 19 198
    Points : 36 658
    Points
    36 658

    Par défaut

    Quelle est l'erreur que tu obtiens ?

  3. #3
    Invité de passage
    Homme Profil pro K.
    Inscrit en
    janvier 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Nom : Homme K.
    Localisation : Canada

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2012
    Messages : 8
    Points : 2
    Points
    2

    Par défaut

    Voici l'exception:

    InvalidCastException was unhandled
    Specified cast is not valid.

  4. #4
    Rédacteur/Modérateur



    Homme Profil pro Thomas Levesque
    Développeur .NET
    Inscrit en
    février 2004
    Messages
    19 198
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas Levesque
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2004
    Messages : 19 198
    Points : 36 658
    Points
    36 658

    Par défaut

    OK, donc a priori la valeur qui est renvoyée par la DB n'est pas un Int64...

    Regarde le type de la valeur renvoyée par connCap(0), ça t'indiquera le type à utiliser.

    Sinon tu peux faire ça :

    Code :
    TableauAffiche(xx) = Convert.ToInt64(connCap(0))
    Petite remarque en passant : un tableau n'est sans doute pas la structure de données la plus adaptée... si la requête renvoie plus de 10 lignes, ça va péter. Il vaudrait mieux utiliser une liste si tu ne connais pas à l'avance le nombre de lignes.

  5. #5
    Invité de passage
    Homme Profil pro K.
    Inscrit en
    janvier 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Nom : Homme K.
    Localisation : Canada

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2012
    Messages : 8
    Points : 2
    Points
    2

    Par défaut

    Maintenant tous fonctionnes.

    Aurais-tu le liens de cette information. Avant de poster un probleme je fais beaucoup de recherche et generalement je trouve une facons de regler le probleme.

    La, je me suis mis a programmer avec Visual Studio expresse 2010 et lala le choix est beaucoup plus vaste. j'ai parfois le sentiment de devoir trouver le laisser passer A38

    *lala, ergo du saguenay/lac st-jean
    **A38, dans les 12 travaux d'asterix

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •