2010-08-11 7 views
3

Commençons par dire que je débogue le code de quelqu'un d'autre :-) L'erreur survient lors de la routine de code qui tente d'exporter des données d'un gridview vers un fichier Excel. .Ligne Gridview lançant une erreur

GridView gv = new GridView(); 
Table table = new Table(); 
int maxRow = 60000; 
int gvrow = Data().Tables[0].Rows.Count; 

L'erreur est à INTERVENUES données() Tableaux [0] .Rows.Count

L'erreur dans la fenêtre immédiate est:
? Tables [0] .Rows.Count
Une première possibilité exception de type 'System.FormatException' est produite dans System.Data.dll 'Data()' est nulle

de données() Le message d'erreur est.:
System.NullReferenceException n'a pas été gérée par le code utilisateur Message = "Référence d'objet non définie sur une instance d'un objet".

Des idées ce qui ne va pas ici?

+2

Qu'est-ce que Data()? À quel composant cela se rapporte-t-il? –

+0

Data() est un sous-programme qui appelle un proc stocké qui renvoie un jeu de données utilisé pour remplir le fichier Excel. – user279521

Répondre

2

Data() renvoie null. Répare ça.

+0

La chose est qu'il ne renvoie pas de null. Il y a des enregistrements qui sont toujours retournés. – user279521

+0

@ user279521: Veuillez vérifier que, par exemple, faire quelque chose comme 'var myData = Data(); if (myData == null) lance une nouvelle exception ("Data() a retourné une valeur nulle de façon inattendue"); À l'heure actuelle, il semble vraiment que Data() renvoie null. – Heinzi

0

Je ne peux pas dire basé uniquement sur ce code (Que fait Data() censé faire?), Mais je suppose que l'appel à Data() retourne null pour une raison quelconque, ou, au moins, est renvoyer un type d'ensemble de données sans tables réelles.

0

Il semble que vous ayez simplement besoin de vérifier que Data() n'est pas null avant d'essayer d'accéder aux propriétés.