2

SQL サーバーで「時間」型の列を含むデータベースからテーブルを取得し、これを DateTime 変数に割り当てようとしましたが、次のエラーが発生しました: System.InvalidCastException: 指定されたキャストが無効です。

ここに私のC#コードがあります:

DateTime StartTime = (DateTime)dt.Rows[i]["startTime"];

列「startTime」のタイプは「時間」であり、データベースで変更できることを知っています。何か助けて??

4

2 に答える 2

5
DateTime StartTime = Convert.ToDateTime(dt.Rows[i]["startTime"].ToString());

そして、あなたがそれがnullである可能性があることを知っているなら。

DateTime StartTime = (dt.Rows[i]["startTime"] == DBNull.Value ? DateTime.MinValue : Convert.ToDateTime(dt.Rows[i]["startTime"].ToString()));
于 2012-05-08T20:48:19.370 に答える
4

次のようにキャストできるはずですTimeSpan

var startTime = dt.Rows<TimeSpan>("startTime");
于 2012-05-08T20:40:15.727 に答える