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 dans mon TABLEAU


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Par défaut Problème dans mon TABLEAU
    Bonjour
    je suis entrains de faire un petit programme pour me faciliter la Vie au travail, et je bloque dans les tableaux .

    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
      Dim a As Integer = 0
            Dim tablIP(20) As String
     
            Try
                Dim sConnString As String = req_sql
                connection = New OleDbConnection(sConnString)
                req = "SELECT chifrement,adrip FROM Table_Ping1 ;"
                command = New OleDbCommand(req, connection)
                connection.Open()
                Dim dr As OleDbDataReader = command.ExecuteReader
                a = 0
                While dr.Read
                    a = a + 1
                    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
                    tablIP(a) = dr(1)
                    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
                End While
                dr.Close()
                connection.Close()
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    je me connecte, tout va bien j'ai une erreur : La conversion du type "DBNULL'" en types "String'" n'est pas valide.
    l'erreur viendrait de là ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
                    tablIP(a) = dr(1)
                    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Si je commente mon tableau, il y a plu l'erreur .
    Mon but est de récupérer le contenue de ma base de données dans un tableau pour le récupéré par la suite dans mon programme.

    Merci d'avance
    Cordialement
    L.Fabien

    FAB

  2. #2
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Une des lignes (ou toutes ?) que te retourne ta requête est nul. (Dans le sens objet vide/Nothing)

    Si tu forces en dr(1).ToString tu auras une chaîne vide, mais au moins tu auras une chaîne plutôt que juste un objet vide.

    EDIT: Oui, j'ai écris ça, j'ai pris une tasse de café, j'ai relu ça, je me suis rendu compte de ma boulette ... Il faut que tu testes que le retour de chaque Rows ne soit pas DBnull.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If dr(1) isNot DBnull Then tablIP(a) = dr(1) else tablIP(a) = String.Empty End if
    Si tu veux des conseils pour améliorer ton code, n'hésite pas ... Je ne suis pas très friand de ta méthode de tableau de string à 20, alors qu'il sera fourni par ta Bdd, qu'arrivera-t-il le jour où tu auras plus de 20 rows retournées ?
    Egalement, que fais-tu de la colonne chiffrement que tu récupères via ton select ? Actuellement elle part aux oubliettes et tu ne sauvegardes que la colonne adresseIp...

    Ps: N'oublie pas de .Dispose() ton oleDbCommand

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Par défaut
    Merci de votre réponse très rapide .
    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
    28
    29
    30
    31
    Private Sub BD_Recup1()
            Try
                Dim sConnString As String = req_sql
                connection = New OleDbConnection(sConnString)
                req = "SELECT chifrement,adrip,namepc FROM Table_Ping1 ;"
                command = New OleDbCommand(req, connection)
                connection.Open()
                Dim dr As OleDbDataReader = command.ExecuteReader
                a = 0
                While dr.Read
                    a = a + 1
                    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
                    If dr(1) IsNot DBNull Then
                        tablIP1(a) = dr(1)
                    Else
                        tablIP1(a) = String.Empty
                    End If
     
     
                    '  tablIP1(a) = dr(1)
                    ' namepc1(a) = dr(2)
     
     
                    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
                End While
                dr.Close()
                connection.Close()
            Catch ex As Exception
                MsgBox(ex.Message)
                TextBox1.Text = ex.Message
            End Try
    j'ai rajouter cella :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
                    If dr(1) IsNot DBNull Then
                        tablIP1(a) = dr(1)
                    Else
                        tablIP1(a) = String.Empty
                    End If
     
     
                    '  tablIP1(a) = dr(1)
                    ' namepc1(a) = dr(2)
     
     
                    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    et j'ai ce message :
    La conversion du type 'DBNull' en type 'String' n'est pas valide.

  4. #4
    Membre très actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If dr(1) IsNot DBNull.Value Then
                        tablIP1(a) = dr(1)
                    Else
                        tablIP1(a) = String.Empty
                    End If

    ca devrai marcher

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Par défaut
    Re

    j'avez déjà testé avec DBNull.Value
    il me sort ce message d'erreur avec :

    Variable objet ou variable d'un bloc With non définie.
    je suis novice en programmation.
    je suis ouvert à tout type de conseils .

    Cordialement

  6. #6
    Membre très actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par défaut
    Variable objet ou variable d'un bloc With non définie
    ce message ce ne devrai pas venir de l'instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If dr(1) IsNot DBNull.Value Then

    peut être le pb est ailleurs

    essaye d'executer cette patie pas à pas pour voir de quelle instruction venait
    cette erreur

Discussions similaires

  1. [WD-2010] Problème dans mon tableau.
    Par starsat4200 dans le forum Word
    Réponses: 1
    Dernier message: 14/08/2014, 23h35
  2. Réponses: 7
    Dernier message: 13/08/2014, 22h58
  3. Problème de tri dans mon tableau croisé
    Par had4789 dans le forum Excel
    Réponses: 2
    Dernier message: 02/07/2014, 11h41
  4. Réponses: 2
    Dernier message: 26/12/2006, 12h49
  5. J'ai un TH dans mon tableau et j'aimerais faire en sorte qu'
    Par hstlaurent dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 12/09/2005, 17h41

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