2009-10-02 10 views
2

J'ai un ensemble de données contenant un datatable, et j'énumère toutes les lignes dans cette datatable. Lorsque je tente de mettre en forme une colonne dans cette ligne, je rencontre une exception. (Partie) le code est:conversion de la chaîne yyyyMMdd en type entier n'est pas valide

For Each dr As DataRow In ds.Tables("records").Rows 
    file = dr("timestamp").ToString("yyyyMMdd") & "~.wav" 
Next 

Il en résulte dans le message d'erreur suivant:

Conversion de aaaaMMjj chaîne de type entier est pas valide. (traduit d'un message d'erreur néerlandais à l'équivalent anglais)

dr (« timestamp »). Résultats GetType.FullName dans « System.DateTime », donc je ne comprends pas pourquoi je lance dans cette exception, comme par exemple, Now.ToString ("yyyyMMdd") aboutit à "20091002", et "Now" est du même type que dr ("timestamp"), "System.DateTime".

Répondre

11

Essayez

For Each dr As DataRow In ds.Tables("records").Rows 
    file = CDate(dr("timestamp")).ToString("yyyyMMdd") & "~.wav" 
Next 
+0

Cela a fait l'affaire. Merci beaucoup de m'avoir aidé. Malheureusement, je ne peux pas modifier votre réponse, car je ne semble pas avoir les crédits nécessaires pour cela :( – George

+0

Eh bien, il a obtenu un +1 de moi;) Aussi, vous pouvez définir sa réponse comme "accepté" en cliquant sur le vert "v "(coche) sous le numéro haut/bas. –

+2

Bien que cette coche soit assez grande, je ne l'ai pas remarqué;) La réponse est maintenant acceptée. – George

0

Avez-vous fait en sorte que vous n'êtes pas le déclarez « fichier » variable comme un entier?

+0

le fichier a été déclaré comme chaîne, mais merci de m'avoir aidé de toute façon. – George