3

データテーブルを含むデータセットがあり、そのデータテーブルのすべての行を列挙します。その行の列をフォーマットしようとすると、例外が発生します。(の一部)コードは次のとおりです。

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

これにより、次のエラーメッセージが表示されます。

文字列yyyyMMddからタイプIntegerへの変換は無効です。 (オランダ語のエラーメッセージから同等の英語に翻訳)

dr( "timestamp")。GetType.FullNameの結果は "System.DateTime"になるため、この例外が発生する理由がわかりません。たとえば、Now.ToString( "yyyyMMdd")の結果は "20091002"、 " Now "は、dr(" timestamp ")、"System.DateTime"と同じタイプです。

4

3 に答える 3

16

試す

For Each dr As DataRow In ds.Tables("records").Rows
    file = CDate(dr("timestamp")).ToString("yyyyMMdd") & "~.wav"
Next
于 2009-10-02T09:33:44.720 に答える
-1

変数「ファイル」を整数として宣言していないことを確認しましたか?

于 2009-10-02T09:38:02.440 に答える