DBNull

cs_Rouk Messages postés 70 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 17 janvier 2010 - 3 nov. 2004 à 11:52
cs_Rouk Messages postés 70 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 17 janvier 2010 - 24 nov. 2004 à 10:44
bonjour,
je developpe en Vb.net, j'ai une connexion Sql qui rempli mon un datagrid. Mais j'ai le probleme suivant :
- lorsque je parcour le dataset :
For i = 0 To DsOpheadm1.Tables(0).Rows.Count - 1
If DsOpheadm1.opheadm(i).date_despatched <> DsOpheadm1.opheadm(i).date_required Then
condition1
Else
condition2
End If
Next

Si "date_despatched" est vide sa plante car il n'y a rien.

voici le message d'erreur :
"Cannot get value because it is DBNull."

Quel test je peut faire pour savoir si la "date_despatched" est vide ???

merci de votre aide

6 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
3 nov. 2004 à 12:17
Il faudrais que tu récupère les champs de ta ligne sélectionnée dans le datagrid, puis les test les uns après les autres.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cs_Rouk Messages postés 70 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 17 janvier 2010 1
3 nov. 2004 à 12:29
Donc, je ne parcour pas le dataset mais plustot le datagrid ...

le probleme c'est que je n'y arrive pas a parcourir le datagrid pour recuperer les champs d'une ligne

datagrid1. ??? ... je bloque

Quel est la commande pour selectionner une cellule du datagrid stp ???
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
3 nov. 2004 à 12:38
J'ai pas encore tester en .Net mais essai d'adapté ce code VB6 en VB.Net

RowValue = DataList.RowContaining(Y)
SaveValue = DataList.Columns(9).CellValue(DataList.RowBookmark(RowValue))


RowValue revoi la ligne sur laquelle se trouve la souris au moment du clic, et SaveValue retourne l'information de cette ligne et qui se trouve dans la colonne N° 9, en fait colonne 10 car les colonnes commence par 0 et pas par 1.

Normalement cette méthode est viable pour les DataList, DataGrid, etc...

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cs_Rouk Messages postés 70 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 17 janvier 2010 1
3 nov. 2004 à 15:42
Eh bien apres avoir regarde les fonctions que l'on peut avoir sur le datagrid. et le datagrid1. ...

j'en conclu que les proprietes du datagrid. c'est pour la gestion des evenements sur le datagrid
et que pour le datagrid1. ... c'est pour modifier les proprietes du datagrid1. (EX : CaptionFont, ect ...)

Mais dans ces 2 cas (datagrid. et datagrid1.), je n'ai pas vu la moindre fonction pour selectionner le contenu d'une cellule.

Il y a bien datagrid1.select, mais sa ne correspond pas a mes attentes...

En .net ... on peut faire un reset de ce que l'on connait en vb6
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_exatex Messages postés 7 Date d'inscription jeudi 22 janvier 2004 Statut Membre Dernière intervention 4 novembre 2009
24 nov. 2004 à 09:10
Et comme ca?

For i = 0 To DsOpheadm1.Tables(0).Rows.Count - 1
If not(IsDBNull(DsOpheadm1.opheadm(i).date_despatched)) Then
If DsOpheadm1.opheadm(i).date_despatched <> DsOpheadm1.opheadm(i).date_required Then
condition1
Else
condition2
End If
End if
Next
0
cs_Rouk Messages postés 70 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 17 janvier 2010 1
24 nov. 2004 à 10:44
Merci pour ta reponse exatex, j'avais resolu mon probleme de cette facon :

If ds.Tables(0).Rows(i).Item(5).GetType.IsValueType Then
condition1
else
condition2
endif

C'est moins jolis mais sa fonctionne :)
0
Rejoignez-nous