begin process at 2012 02 17 11:49:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Problème type DBNULL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème type DBNULL

vendredi 17 octobre 2008 à 02:51:08 | Problème type DBNULL

amxeph


Bonjour, j'ai un problème assez embêtant :

Voilà , j'ai un data set dont j'aimerais bien prendre la valeur de la 3e colonne pour toutes les lignes. Ici dans mon exemple je sais que j'ai 6 lignes j'ai donc fais ce petit code qui marche très bien.



       Dim angle As Integer = DSResume.Tables(0).Rows(0).Item(2) / 100 * 360
        Dim angle1 As Integer = DSResume.Tables(0).Rows(1).Item(2) / 100 * 360
        Dim angle2 As Integer = DSResume.Tables(0).Rows(2).Item(2) / 100 * 360
        Dim angle3 As Integer = DSResume.Tables(0).Rows(3).Item(2) / 100 * 360
        Dim angle4 As Integer = DSResume.Tables(0).Rows(4).Item(2) / 100 * 360
        Dim angle5 As Integer = DSResume.Tables(0).Rows(5).Item(2) / 100 * 360

Cependant, dans mon programme, je ne sais pas combien j'aurai de lignes j'aimerais donc faire une boucle de ce type :

For i As Integer = 1 To DSResume.Tables(0).Rows.Count
            Dim angle As Integer = DSResume.Tables(0).Rows(i - 1).Item(2) / 100 * 360
        Next

Mais probblème, dès que je fais ça lorsque je lance le programme VS m'envoie un erreur du type :
La conversion du type 'DBNull' en type 'Integer' n'est pas valide.

Je ne vois vraiment pas d'où vient le problème... une idée?

PS la datacolumn est en double et j'ai beeau mettre ma variable en double, je sais bien que ce n'est pas de là que vient le problème
________________________

Stéphane
vendredi 17 octobre 2008 à 10:05:13 | Re : Problème type DBNULL

swan94

Membre Club
Salut,

Déjà pourquoi tu commences à 1 dans ta boucle et non 0 alors que l'indice commence normalement à 0 et termine donc à Count-1 ?

Ensuite essaye de te faire afficher la valeur de chaque cellule en mettant un messagebox.show(DSResume.Tables(0).Rows(i - 1).Item(2)) à chaque itération.

Tiens nous au courant.

Cordialement,

Swan94
=================Si la réponse vous convient, merci de l'accepter=================
vendredi 17 octobre 2008 à 11:20:48 | Re : Problème type DBNULL

amxeph


Oui j'avais déjà essayé ceci

    For i As Integer = 1 To DSResume.Tables(0).Rows.Count
            MsgBox(DSResume.Tables(0).Rows(i - 1).Item(2) / 100 * 360)
        Next

ça marche très bien. c'est pour ça que je comprends pas. Les valurs sont des nombres à virgule.. je sais pas si ça change qqc.

Sinon, merci bcp pour essayer de comprendre

Et l'histoire du Count -1 j'ai fait ça aussi mais ça change rien.
________________________
Stéphane
vendredi 17 octobre 2008 à 15:08:35 | Re : Problème type DBNULL

nhervagault

Administrateur CodeS-SourceS
Réponse acceptée !
Salut
Le problème est que ta
tabled de la base de données contient des données NULL

Il faut tester ce cas avant.

De plus, il est recommandé de travailler avec option strict et explicit a ON sur des projet VB.NET
Et supprimer la bibliotheque de compatibility VB6 (msgbox --> MessageBox.Show()

Car normalement c'est incoherent de faire
DSResume.Tables(0).Rows(i - 1).Item(2) / 100 * 360
car
DSResume.Tables(0).Rows(i - 1).Item(2) est un object

il faut faire
Ctype(DSResume.Tables(0).Rows(i - 1).Item(2) / 100 * 360,Integer32) / 100 * 360

Et avant faire test
if(Not DSResume.Tables(0).Rows(i - 1).Item(2).Equals(DbNull.Value)) then
messagebox.show((Ctype(DSResume.Tables(0).Rows(i - 1).Item(2) / 100 * 360,Integer32) / 100 * 360).ToString())
else

end if



Bon coding
vendredi 17 octobre 2008 à 18:30:56 | Re : Problème type DBNULL

amxeph

En effet j'avais une ligne dans le dataset qui était vide. J'avais oublié que j'avais une ligne pour vérifier la cloture des données dans le  dataset. Merci à toi et bonne soirée



________________________
Stéphane



Cette discussion est classée dans : item, rows, integer, tables, dsresume


Répondre à ce message

Sujets en rapport avec ce message

import .Comment (Fichier Excel) vers Form VB 2008 [ par JMO ] Bonjour à tous,Config:XPVB 2008 ExpressExcel 2003Récup données Excel:        cn = New System.Data.OleDb.OleDbConnec interaction avec une form dans un module [ par Zachs ] Bonjour, je cherche a fair dans mon programme une fonction qui se toruve d'un modul mais qui interagi avec un form le probleme c'est qu'il me dit a ch Erreur out of range avec l' utilisation d' un DataGridView [ par emarck ] Bonjour, dans la procédure ci-dessous, je remplis un DataGridView1 avec les résultats d' une requête sql. Lorsque ma requêtes contient 1 o connexion du datagridview avec 2 tables SQL [ par oami89 ] Bonjour j'ai un datagridview qui contient 5 colonnes.Et j'ai importer des données pour les 4 1er colonnes a partir de la table [b]FACTURELIGNE[/b],et MenuStrip dynamique?? [ par Usernet007 ] Bonjour à tous :p mon problème est ceci: j'arrive à faire importer le menuStrip de facon dynamique c'est a dire directement d'une base mysql mais le erreur pour le chargement d'un table a partir d'autre [ par infogirls ] slt a tous je peux transfert les données d'un table a la base de données access a l'autre table je travail avec ce code [color=gray]Imports System.D Corps message dans un tableau [ par tif27940 ] Bonjour a tous et bonne année a tous et toutes, voici mon code [code=aspx] For i = 0 To dsCommande.Tables(0).Rows.Count - 1 nom = Tr Prolème de Conversion de type DBNuull en String [ par coulibalysy ] Je suis débutant en VB.net et je developpe sur VB.Net Express 2008Lorsque je lance l'exe mon programme me signale l'erreur suivante:"La conversion du La référence d'objet n'est pas définie à une instance d'un objet. [ par soniaenit ] ST j'ai cette erreur qui s'affiche à chaque clic sur le bouton modifier "La référence d'objet n'est pas définie à une instance d'un objet." voila base de données access [ par germany1970 ] Bonsoir et bonne et heureuse année 2011, mon problème le suivant : j'ai écrit le code pour se connecter à une base de donnée access, j'ajoute un enreg


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,962 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales