conversão de corda yyyyMMdd de tipo inteiro não é válido
Pergunta
Eu tenho um conjunto de dados que contém uma tabela de dados, e eu enumerar todas as linhas em que tabela de dados. Ao tentar formatar uma coluna nessa linha, eu me deparo com uma exceção. (Parte de) o código é:
For Each dr As DataRow In ds.Tables("records").Rows
file = dr("timestamp").ToString("yyyyMMdd") & "~.wav"
Next
Isto resulta na seguinte mensagem de erro:
Conversão de yyyyMMdd corda para tipo inteiro não é válido. (Traduzido a partir de uma mensagem de erro holandês para o equivalente Inglês)
dr ( "timestamp"). GetType.FullName resultado em "System.DateTime", de modo que eu não entendo por que eu me deparo com essa exceção, como por exemplo Now.ToString ( "AAAAMMDD") resulta em "20091002" e "Agora" é do mesmo tipo que dr ( "timestamp"), "System.DateTime" que é.
Solução
Tente
For Each dr As DataRow In ds.Tables("records").Rows
file = CDate(dr("timestamp")).ToString("yyyyMMdd") & "~.wav"
Next
Outras dicas
Você fez certeza de que não estão declarando o 'arquivo' variável como um inteiro?