DateTimeとは異なるデータ型であり、やのようにstring相互にキャストすることはできません。を取得するには、解析する必要があります。次のコードスニペットを使用して、現在のカルチャで提供されているデフォルトの形式で解析してみてください。intfloatstringDateTimeDateTime
OleDbDataReader dbRead = cmd.ExecuteReader();
while (dbRead.Read())
{
product.DateReleased = dbRead["Date Released"] != DBNull.Value ? DateTime.Parse(dbRead["DATE"]) : null;
product.DatePublished = dbRead["Publish_Date"] != DBNull.Value ? DateTime.Parse(dbRead["Publish_Date"]) : null;
}
と仮定するDatePublished とDateReleased、タイプはDateTime?です。特定の日付形式がある場合はDateTime.ParseExact、たとえば、形式をパラメーターとして受け取るメソッドを使用できます。
DateTime.ParseExact(dbRead["Date Released"], "dd.MM.yyyy", CultureInfo.InvariantCulture)
DatePublished およびDateReleasedがタイプの場合、DateTimestringを呼び出して、次のように文字列に変換する必要があります。ToString()
product.DateReleased = dbRead["Date Released"] != DBNull.Value ? dbRead["DATE"].ToString() : "No Date available";
product.DatePublished = dbRead["Publish_Date"] != DBNull.Value ? dbRead["Publish_Date"].ToString() : "No Date Available";
データベースの基になる列にタイプがある場合は、次のようにクラスのメソッドにDateTimeアクセスできます。GetDateTimeOleDbDataReader
product.DateReleased = dbRead.GetDateTime("Date Released");