2013-05-06 6 views
0
try 
{ 
    foreach (DataRow row in tempTable.Rows) 
    { 
     row["Start_Date"] = objUtil.ConvertDate(row["Start_Date"].ToString(), "yyyyMMdd").ToString("MM/dd/yyyy hh:mm:ss").Replace("12:00:00 AM", "").Trim(); 
     row["End_Date"] = objUtil.ConvertDate(row["End_Date"].ToString(), "yyyyMMdd").ToString("MM/dd/yyyy hh:mm:ss").Replace("12:00:00 AM", "").Trim(); 
     row["Start_Date_DateTime"] = row["Start_Date"]; 
     rowCnt++; 
    } 
    rowCnt = 0; 
    foreach (DataRow row in tempTable1.Rows) 
    { 
     row["Start_Date"] = objUtil.ConvertDate(row["Start_Date"].ToString(), "yyyyMMdd").ToString("MM/dd/yyyy hh:mm:ss").Replace("12:00:00 AM", "").Trim(); 
     row["End_Date"] = objUtil.ConvertDate(row["End_Date"].ToString(), "yyyyMMdd").ToString("MM/dd/yyyy hh:mm:ss").Replace("12:00:00 AM", "").Trim(); 
     row["Start_Date_DateTime"] = row["Start_Date"]; 
     rowCnt++; 
    } 
    DataView _objdv = new DataView(tempTable); 
    _objdv.Sort = "Suite_ID,Start_Date_DateTime ASC"; 
    DataTable _dt1 = _objdv.ToTable(); 
    objSuiteRate_Table = _dt1; 
    DataView _objdv1 = new DataView(tempTable1); 
    _objdv1.Sort = "Suite_ID,Start_Date_DateTime ASC"; 
    DataTable _dt2 = _objdv1.ToTable(); 
    objSuiteRate_TableGLB = _dt2; 
    objPPCNorm.Connection.Close(); 
} 
catch (Exception ex) 
{ 
    bool rethrow = BusinessLayerExceptionHandler.HandleException(ref ex); 
    throw; 
} 

message d'erreur estchaîne n'a pas été reconnu comme un objet DateTime valide

Impossible de stocker < 30/08/2011 12:00:00> dans le type DateTime column.Expected est objet DateTime

+0

J'ai essayé de corriger l'indentation du code que vous avez posté pour le rendre lisible. Cela a montré qu'il y a une erreur de syntaxe, j'ai ajouté l'ouverture 'try {' que vous avez oublié de coller ... – arkascha

+0

Votre mise en forme est un peu foirée là-bas. Si vous indentez votre code de 4 espaces par ligne, le formatage du code devrait être activé. Dans tous les cas, sur quelle ligne cette exception se produit-elle? Et qu'est-ce que l'objectif dans ce contexte? Nous pouvons avoir besoin du code pour ConvertDate s'il ne fait pas partie du framework. –

+0

Quelle langue est-ce? S'il vous plaît ajouter cela comme un tag afin que les gens peuvent aider. # – arkascha

Répondre

4

Votre erreur est très clair sur ce qui ne va pas: vous mettez une chaîne dans une colonne datetime:

objUtil.ConvertDate(row["Start_Date"].ToString(), "yyyyMMdd").ToString("MM/dd/yyyy hh:mm:ss").Replace("12:00:00 AM", "").Trim(); 

Renvoie une chaîne. Donc, vous devez supprimer la partie de mise en forme ou faire la colonne d'un type de chaîne:

supprimer le formatage partie et faire la mise en forme dans le composant qui affiche la ligne:

objUtil.ConvertDate(row["Start_Date"].ToString(), "yyyyMMdd"); //**.ToString("MM/dd/yyyy hh:mm:ss").Replace("12:00:00 AM", "").Trim()**; 

ou modifier la définition de votre ligne à type de chaîne.

+1

Je dirais ne pas le transformer en une chaîne; le formatage devrait certainement être dans le composant d'affichage (comme vous l'avez dit). –

+0

Je suis d'accord que la façon dont vous présentez vos données doit être dans le composant qui fait la présentation des données. – Peter

Questions connexes