2010-05-11 6 views
1

"Il n'y a pas de ligne à la position 0." Bonjour, je reçois toujours ce message d'erreur.Pourquoi j'obtiens ce message d'erreur très souvent?

If mytable.Rows.Count >= 0 then 
dim myid = dt.Rows(0).Item(6).ToString 
End if 

S'il vous plaît aidez-moi à ce sujet et je ne voudrais jamais revoir ce message. Merci à tous.

qry_Sql = qry_Sql + " select SRNO,EMPNO,ATTN_YR,ATTN_MONTH," 
    qry_Sql = qry_Sql + " GRP,TOT_HRS,MY_ID " 
    qry_Sql = qry_Sql + " from ATTD_HRS " 
    qry_Sql = qry_Sql + " ORDER BY EMP_NO " 

    If mytable.Rows.Count <= 0 Then 
    mygrp = dt.Rows(0).Item(5).ToString --------------------- 
    myid = dt.Rows(0).Item(6).ToString 
    End If 

Répondre

1

Probablement parce que matable n'a pas de ligne à la position 0, (rows(0) partie). Vous devez vérifier s'il existe des lignes/éléments avant de les utiliser.

2

Vous devez vérifier si votre table contient toutes les lignes ...

If mytable.rows.Count > 0 then 
    If mytable.rows(0).items(2) >= 0 then 
     dim myid = dt.Rows(0).Item(6).ToString 
    End if 
End if 
+0

Je le fais ... désolé je l'ai déjà mentionné. – ahmed

+1

De votre post édité je vois "If mytable.Rows.Count <= 0 Alors" C'est le mauvais chemin, vous devriez vérifier s'il y a plus de 0 alors utilisez '>' – RvdK

+0

Merci, c'était correct.Mais pendant le débogage du pointeur vient sur I et puis va directement à End If.So cela signifie qu'il y a plus de 0. Mais j'ai besoin de stocker la valeur dans la variable.Comment puis-je faire cela? – ahmed

Questions connexes