MySql Null DateTime 和 MS.net 表现不佳
这就是问题所在。
我有一个包含日期的表(mySQL),其中一些为空。 我知道我可以使用 DateTime 吗? 或 Nullable 允许空值,但我不确定在哪里设置它。
我尝试过的:
我在 dblm 中构建了该类。 日期属性设置了以下属性:
Nullable : True
Server Data Type : DateTime
Type : NUllable<DateTime>
这些设置允许构建我的代码。 当我调试它时抛出此异常: System.NullReferenceException:未将对象引用设置为对象的实例。
如果我尝试使用这些属性:
Nullable : True
Server Data Type : NUllable<DateTime>
Type : NUllable<DateTime>
我会得到与上面相同的异常。
其他不起作用的方法:
Nullable : True
Server Data Type : DateTime?
Type : NUllable<DateTime>
Nullable : True
Server Data Type : DateTime?
Type : DateTime?
我正在使用 .net 的 3.5 Framework
谢谢
Heres the issue.
I have a table(mySQL) that contains dates and some of them are null.
I know that I can use DateTime? or Nullable to allow nulls, but I'm not sure where to set it.
What I've tried:
I built the class in the dblm. The date propery has the following attributes set:
Nullable : True
Server Data Type : DateTime
Type : NUllable<DateTime>
These settings allow my code to be built.
When I debug it a get this exception thrown:
System.NullReferenceException: Object reference not set to an instance of an object..
If I try to with these attributes:
Nullable : True
Server Data Type : NUllable<DateTime>
Type : NUllable<DateTime>
I get the same exception as above.
Other ways that did not work:
Nullable : True
Server Data Type : DateTime?
Type : NUllable<DateTime>
Nullable : True
Server Data Type : DateTime?
Type : DateTime?
I'm using .net's 3.5 Framework
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我记得 mysql 的 ADO 有一个 问题。 NET 驱动程序,它根本不能很好地处理空日期/时间字段。
即使 IsDBNull 也会在日期/时间为空的字段上引发异常。
这可能仍然是一个问题。
I remember a problem with mysql's ADO.NET driver, where it was not playing nice with nulled date/time fields at all.
Even IsDBNull was throwing exception on a field with null date/time.
It may be still an issue.
固定的 -
事实证明,这是连接到 mySQL 数据库的连接字符串的问题。
我也不知道可以使用服务器资源管理器将表放入 DBML 中。 我所需要做的就是连接到数据库,然后将表拖放到 DBML 上。
Fixed -
It turned out to be an issue with the connection string to connect to the mySQL DB.
Also I didn't know that it was possible to drop a table into the DBML using the Server Explorer. All I needed to do was connect to the database then drop the table onto the DBML.