0000-00-00 00:00:00
我在mysql中将此日期作为未定义大小写的默认日期
我如何在c#中获取它们并重新插入它们而不需要在MysqlDatabase中进行更改。
如果我用c#获取它们。我收到Unable to convert MySQL date/time value to System.DateTime
我如何在c#中获取并插入它们而不更改日期
答案 0 :(得分:2)
使用Nullable
类型和as
运算符在C#中表示日期时间值。这是处理映射到值类型并且可能没有值的数据库类型的最简单机制。例如:
object valueFromMySQL = GetValueFromMySQL(); // or whatever
DateTime? datetimeValue = valueFromMySQL as DateTime?;
如果该值有效,则将其解释为DateTime
,否则将被解释为null。
您还应该能够毫无问题地将类型DateTime?
的值发送回MySQL。
答案 1 :(得分:0)
DateTime.MinValue
(最小值DateTime
支持)为1-1-0001 0:00:00。是否可以选择将MySQL默认设置为日期日期/时间而不是0-0-0000 0:00:00?这里的问题是,您设置为默认值的日期/时间不是有效的日期/时间(没有月份,数字为零),因此DateTime
将永远不接受此日期。
答案 2 :(得分:0)
在这种情况下,您需要使用try parse。
DateTime ReturnedDateValue;
DateTime DateFromSqlDB = EntityClass.DateCreated;
if (DateTime.TryParse(DateFromSqlDB, ReturnedDateValue))
{
/// Do the insert stuff here
}