sql = select * from [Table1] where [Num]=? and [Date]=? and [Name]=?
If name Is DBNull.Value OrElse String.IsNullOrEmpty(name.ToString) Then
sql = "select * from [Table1] where [Num]=? and [Date]=? and [Name] is null"
End If
上面的代码工作正常一段时间。当另一个不同的日期值传递给[Date]
字段时,如果[Name]
(文本字段)为空,则不会返回记录。
否则,如果[Name]
不为null,则可以正常工作。我必须显示[Name]
字段为空的记录。
作为一个侧面问题:玩这些令人讨厌的零点让我发疯。我正在考虑用空字符串""
或" "
替换所有空值,但这里有什么优点和缺点,如果有任何区别。
答案 0 :(得分:1)
你有没有试过这样做
sql = select *
from [Table1]
where [Num]=numParam
and [Date]=dateParam
and ([Name]=nameParam or nameParam is null)