来自MS Access的空javascript陷阱

来自MS Access的空javascript陷阱,javascript,ms-access,null,Javascript,Ms Access,Null,这应该很简单,但是。。。 我通过JavaScript用MS Access db中的值填充了几个选择框。所以我循环浏览记录并检索名称。其中有些是有效的,有些是空的,有些是空的,无论出于什么原因。我希望捕获空值和空值,以便它们不会显示在选择选项中。以下是我所拥有的: var SQL = "SELECT DISTINCT design_lead FROM projects"; rs.Open(SQL, cn); if(!rs.bof) { rs.MoveFirst();

这应该很简单,但是。。。 我通过JavaScript用MS Access db中的值填充了几个选择框。所以我循环浏览记录并检索名称。其中有些是有效的,有些是空的,有些是空的,无论出于什么原因。我希望捕获空值和空值,以便它们不会显示在选择选项中。以下是我所拥有的:

var SQL = "SELECT DISTINCT design_lead FROM projects";
rs.Open(SQL, cn);
    if(!rs.bof) {
        rs.MoveFirst();
    }
var i=0;
while(!rs.eof) {
    desLead = rs("design_lead");
    if(desLead==null || desLead==undefined || desLead=='') {
        i=i+1;
        rs.MoveNext();
    }
    else {
        $("#leadName").append("<option>"+desLead+"</option>")
        i=i+1;
        rs.MoveNext();
    }
}
rs.Close();

问题是null总是显示在选项列表中。我已经搜索了几天,但没有找到任何有帮助的。。。我尝试了许多不同的陷阱类型等,但都不起作用。

首先不返回空值怎么样:

var SQL = "SELECT DISTINCT design_lead FROM projects WHERE design_lead IS NOT NULL";
此外,您还可以缩小while循环,因为if和else情况下只有一行不同:

while(!rs.eof) {
    desLead = rs("design_lead");
    if(desLead) {
        $("#leadName").append("<option>"+desLead+"</option>")
    }
    i=i+1;
    rs.MoveNext();
}
您确定该值为null且不为null吗?
if(desLead && desLead != "null")