我正在尝试执行SQL查询以查看我的数据库中是否已存在地址。我的地址是这样的结构:
line1
line2
line3
city
state
zipcode
country
有时我的数据库中的line2和line3是NULL值。
我正在使用.NET TableAdapter和DataTable来进行查询。当我尝试传入我的line2参数(@ line2)时,它等于一个value = nothing的字符串。我的数据库不会将其解释为NULL并且说记录不匹配,但我知道它们会这样做吗?
如何传入一个字符串=什么都没有,并将它与数据库中的NULL值进行比较是否相等?
我尝试过string = DBNULL.value但不会编译。我使用integer = Nullable(整数)对整数等进行了类似的比较,但这对于字符串不存在。
感谢。
答案 0 :(得分:1)
您需要使用DBNull.Value
答案 1 :(得分:0)
Null在大多数查询中都很特殊。通常,指定匹配null的方法是“line2 is NULL”
答案 2 :(得分:0)
使用DBNull.Value是一个开始,但我不认为它会起作用,因为当它将执行NULL = NULL时,它将始终返回false。
如果空字符串与NULL相同,那么您可以将查询更改为ISNULL(line2,“”)为line2等,并在字符串为Nothing时将“”作为参数传递。< / p>
如果你不能这样做,你可以修改你的查询来检查你的参数是否为空,如果是,那么验证line2是否为NULL,而不是当它不是。
希望有所帮助。