【发布时间】:2016-07-29 14:17:14
【问题描述】:
我有以下代码来检查日期时间值是否为空或有值。如果它为空,我希望它作为一个空白字符串返回,否则它应该是它所包含的值的字符串。
语句的Else 部分有效,它将值转换为字符串,但是,如果作为日期时间传入的值为空,它不会返回Nothing,而是将值设置为'12:00:00 AM',这导致我在项目的其他地方出现问题。
如何调整此函数以使空日期时间值返回为空白字符串?
Public Shared Function dbToDate(o As Object) As DateTime
If o Is DBNull.Value Then
Return ""
Else
Return Convert.ToDateTime(o)
End If
End Function
【问题讨论】:
-
请告诉我你不打算把它放到 SQL 字符串中吗?因为那将是可怕。这是一个非常强烈的迹象,表明您正在构建极易受到 sql 注入攻击的代码。
-
这与your last question 有何不同? ...并且日期仍然不需要转换为 SQL 的字符串。
-
@JoelCoehoorn 不,这不会进入 SQL 字符串,这是使用 SQL 从数据库中获取数据,但不会返回(还没有)
-
查看其他评论中链接的问题,这正是你在做什么:(不要构建这样的 SQL 字符串! 它实际上是在乞求被黑。
-
@Plutonix 该问题要求提供导致检测到此错误的语法,这是解决问题的方法。而且这个问题现在有点多余,因为它不再在插入语句中使用
标签: sql vb.net string datetime null