首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理c# for mysql中null日期而不将其转换为null

问如何处理c# for mysql中null日期而不将其转换为null
EN

Stack Overflow用户
提问于 2010-11-12 14:08:21
回答 3查看 2.4K关注 0票数 4
代码语言:javascript
复制
0000-00-00 00:00:00

在未定义的情况下,我将此日期作为mysql中的默认日期

如何在不更改MysqlDatabase的情况下在c#中获得它们并重新插入它们。

如果我把它们放进c#的话。我得到的错误是Unable to convert MySQL date/time value to System.DateTime

如何在不更改日期的情况下将其放入c#中并插入

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-12 14:24:52

使用Nullable类型和as运算符在C#中表示日期时间值。这是处理映射到值类型并且可能没有值的数据库类型的最简单机制。例如:

代码语言:javascript
复制
object valueFromMySQL = GetValueFromMySQL(); // or whatever
DateTime? datetimeValue = valueFromMySQL as DateTime?;

如果值有效,将被解释为DateTime,否则将被解释为null。

您还应该能够将DateTime?类型的值发送回MySQL,而不会出现问题。

票数 2
EN

Stack Overflow用户

发布于 2010-11-12 14:23:41

DateTime.MinValue ( DateTime支持的最小值)为1-1-0001 0:00:00。是否可以选择设置MySQL默认日期/时间而不是0-0-0000 0:00:00?这里的问题是,您设置为默认值的日期/时间不是有效的日期/时间(没有数字为零的月份),因此DateTime永远不会接受这个日期。

票数 0
EN

Stack Overflow用户

发布于 2010-11-12 14:26:39

在这种情况下,您将需要使用try解析。

代码语言:javascript
复制
DateTime ReturnedDateValue;

DateTime DateFromSqlDB = EntityClass.DateCreated;

if (DateTime.TryParse(DateFromSqlDB, ReturnedDateValue))
{
    /// Do the insert stuff here
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4162085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档