La source contient aucun des datarow
DataTable dt = ds.Tables[4].AsEnumerable()
.Where(x => ((DateTime)x["EndDate"]).Date >= DateTime.Now.Date)
.CopyToDataTable();
ds.Tables[4]
a des lignes, mais il lève l'exception
"La source ne contient des datarow."
Aucune idée de comment gérer ou de se débarrasser de cette exception?
Juste pour être sûr, vous ne voulez que des éléments pour aujourd'hui ou un jour dans l'avenir?
sa se produit parce que pas d'enregistrements de matchs ou de remplir pleinement la condition de requête et le résultat est null alors, voici im essayant de copier la valeur null à datatable ...
lorsque vous remplissez la DataTable pouvez-vous ne pas modifier la requête en ce qui concerne le sql utilisé pour remplir la première DataTable..? aussi de ce que si vous deviez changer de labda l'expression d'une requête Linq.. avez-vous pensé à ce sujet ainsi msdn.microsoft.com/en-us/library/... || msdn.microsoft.com/en-us/library/bb386921%28v=vs.110%29.aspx || forums.asp.net/t/...
sa se produit parce que pas d'enregistrements de matchs ou de remplir pleinement la condition de requête et le résultat est null alors, voici im essayant de copier la valeur null à datatable ...
lorsque vous remplissez la DataTable pouvez-vous ne pas modifier la requête en ce qui concerne le sql utilisé pour remplir la première DataTable..? aussi de ce que si vous deviez changer de labda l'expression d'une requête Linq.. avez-vous pensé à ce sujet ainsi msdn.microsoft.com/en-us/library/... || msdn.microsoft.com/en-us/library/bb386921%28v=vs.110%29.aspx || forums.asp.net/t/...
OriginalL'auteur Mike | 2015-02-04
Vous devez vous connecter pour publier un commentaire.
ds.Tables[4]
peut, mais le résultat de votre linq-requête peut pas, ce qui est probable, où l'exception est levée. Diviser votre chaînage de méthode à utiliser intermédiaire des paramètres de sorte que vous pouvez être mort certain de l'endroit où l'erreur est survenue. Il va également vous aider à vérifier que les lignes existantes avant d'appelerCopyToDataTable()
et éviter ladite exception.Quelque chose comme
Une autre option est d'utiliser le
ImportRow
fonction sur unDataTable
Comme je l'ai dit - la division de votre méthode de la chaîne et la vérification de vos résultats provisoires est une façon d'aller. Les commentaires sur votre question ont suggéré un autre.
déjà essayé ce même message d'erreur
Je viens de vérifié les deux solutions, et travaillent tous les deux avec un peu simplifié datamodel. Il doit y avoir quelque chose d'autre se passe.
les lignes.() fonctionne
OriginalL'auteur J. Steen
Simplement scinder en deux lignes
Cela permet de vérifier si le résultat contient des DataRow, si oui, alors vous pourriez appeler la CopyToDataTable méthode.
OriginalL'auteur Steve