2010-07-07 7 views
0

Je table de données SQL qui containes DATE ou un champ DateHeure.NET LINQ foreach DATETIME ne peut pas convertir la chaîne à exception DateTime

un spectacle de déclaration LINQ ici juste pour l'idée de base

var testLinq = from t in DBDataContext.Certificates select t; 

    foreach (var t in testLinq) 
    { 
    .... 
    } 

gauche sur le code dans {..} pour la brièveté. Mais chaque fois que « foreach » essaie d'utiliser t je reçois cette exception

« La chaîne d'entrée était pas dans un format correct. » Lors de la conversion d'une chaîne à DateTime, analyser la chaîne de prendre la date avant de mettre chaque variable en l'objet DateTime

Comment puis-je faire lorsque son traité par Linq dans la boucle foreach?

+0

Je pense que vous allez devoir fournir un peu plus de code. Comment faites-vous référence à la propriété DateTime? –

+0

Merci, cette exception se produit même si vous n'essayez même pas de référencer la propriété. Il semble lancer lorsque la boucle foreach se construit. J'ai essayé d'utiliser les champs SQL Date & DateTime, et je me suis souvenu de réorganiser mon DataContext dans Visual Studio ... – PrimeTSS

Répondre

0

Tout d'abord, faites comme ça

var testLinq = (from t in DBDataContext.Certificates select t).ToList(); 

foreach (var t in testLinq) 
{ 
.... 
} 

et convertir votre chaîne à datetime comme celui-ci

DateTime dt = DateTime.Parse("yourString") 

si elle ne fonctionne pas,

DateTime dt = new DateTime(year,month,day); 

et obtenir votre année, mois, jour valeurs avec Convert.ToInt32 (yourString.SubString (0,4)) etc