对SQL语句中的WHERE子句中遇到NULL值的参数绑定有关问题

对SQL语句中的WHERE子句中遇到NULL值的参数绑定问题
现在我有一个SQL语句
SELECT   NAME   FROM   TABLE   WHERE   COUNTRY=:mcountry
其中mcountry为绑定的变量
在给mcountry赋值的时候,当mcountry为空则赋mcountry=DBNull.Value

这样SQL语句实际上就变成了:
SELECT   NAME   FROM   TABLE   WHERE   COUNTRY   =   NULL
这样是查不出来数据的。正确的应该是
SELECT   NAME   FROM   TABLE   WHERE   COUNTRY   IS   NULL

但是我又不能将SQL语句改为
SELECT   NAME   FROM   TABLE   WHERE   COUNTRY   IS   :mcountry
如果这样的话,那些mcountry值不为空的情况就不行了。

请问这个问题怎么解决啊?


------解决方案--------------------
写个判断

if isnull(mcountry)=true then
SELECT NAME FROM TABLE WHERE COUNTRY is null
else
SELECT NAME FROM TABLE WHERE COUNTRY = ' " & mcountry & " '

end if

------解决方案--------------------
写个带参数的存储过程,
或者把COUNTRY Is Null设定为= " "。
------解决方案--------------------
要改先期生成的sql了
------解决方案--------------------
SELECT NAME FROM TABLE WHERE COALESCE(COUNTRY, ' ') IS :mcountry
------解决方案--------------------
加函数判断即可