【发布时间】:2017-11-13 14:02:07
【问题描述】:
我将日期作为字符串存储在 sql 表中。如果日期未通过,则它将为空。现在我想从asp.net的设计页面检查日期是否为空。我收到类型转换错误。有人知道如何克服这个问题吗?
<%# ((DateTime)Eval("Date")).ToString("yyy-MM-dd hh:mm tt") %>">
这里的数据是作为字符串输入的。
谢谢
【问题讨论】:
-
您只是想在这里将字符串转换为 DateTime,您需要正确解析它。另外,不要将数据库中的日期存储为字符串,将它们存储为日期!
-
“我将日期作为字符串存储在 sql 表中。”。 你的问题!。阅读 Aaron Bertrand 的 Bad habits to kick : choosing the wrong data type
-
很明显,转换错误是由您尝试比较的数据类型不匹配引起的,请考虑将数据库中的日期数据类型从
string更改为DateTime。跨度> -
另外,您使用什么类型的输入控件进行日期输入,例如
DateTimePicker或TextBox? -
感谢您的回复,实际上我是在 UI 上显示表格数据。如果我将列设为日期时间,它将存储默认日期并显示在 UI 上。为了避免默认日期显示,我将列设置为 varchar。但是现在我想执行一些操作,并且不允许空值。