查询中的空值有问题

时间:2014-05-27 08:29:30

标签: sql vb.net ms-access

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]字段为空的记录。

作为一个侧面问题:玩这些令人讨厌的零点让我发疯。我正在考虑用空字符串""" "替换所有空值,但这里有什么优点和缺点,如果有任何区别。

1 个答案:

答案 0 :(得分:1)

你有没有试过这样做

sql = select * 
      from [Table1] 
      where [Num]=numParam 
          and [Date]=dateParam 
          and ([Name]=nameParam or nameParam is null)