1

次のコードを使用して、データベースから値を取得しました。

if( !rs.bof ){
     rs.MoveFirst();
     while ( !rs.eof ){
        output.innerHTML += rs.fields( "Name" ) + ","
        output.innerHTML += rs.fields( "Address" ) + "<br>"
        rs.MoveNext();
    }
}

ただし、Address が null の場合は、次のように記述します。

Sherlock Holmes, 221B Baker Street
James Moriarty, null

私は使用してみました:

if( rs.fields( "Address" ) != null && rs.fields( "Address" ) != "" )

null 値が空の文字列として表示されるようにするにはどうすればよいですか?

4

5 に答える 5

2

これを試して:

if( !rs.bof ){
     rs.MoveFirst();
     while ( !rs.eof ){
        output.innerHTML += (rs.fields( "Name" ) || "") + ","
        output.innerHTML += (rs.fields( "Address" ) || "") + "<br>"
        rs.MoveNext();
    }
}

論理Orを使用して空の文字列に変更します

于 2012-06-30T12:04:55.470 に答える
0

このようにコードを変更します

if( !rs.bof ){
     rs.MoveFirst();
     while ( !rs.eof ){
        var name = rs.fields( "Name" ) ;
        var address = rs.fields( "Address" ) ;
        output.innerHTML += (name == null ) ? "" : name  ;
        output.innerHTML += (address == null ) ? "" : address + "<br>" ;
        rs.MoveNext();
    }
}
于 2012-06-30T12:03:38.293 に答える
0

これを試して:

if( !rs.bof ){
     rs.MoveFirst();
     while ( !rs.eof ){
        var name=  (rs.fields( "Name" ) === null)?"":rs.fields( "Name" );
        var address=  (rs.fields( "Address" ) === null)?"":rs.fields( "Address" );
        output.innerHTML += name + ","
        output.innerHTML += address + "<br>"
        rs.MoveNext();
    }
}
于 2012-06-30T12:33:48.683 に答える
0

これはかなり古いトピック/質問ですが、実際には同じ問題があり、以前にこれを行ったことがあると確信していました. これらの回答はどれも、実際の問題には適切ではないようです。

問題は、rs.fields( "Address" ) が null または false として評価されないことです。

したがって、OP 評価ステートメントを使用すると、次のようになります。

if( rs.fields( "Address" ) != null && rs.fields( "Address" ) != "" )

実際、それは常に真になります。代わりに値を確認する必要があります。

if(rs.fields( "Address" ).value){...}

存在しない場合は、false を返します。これは、常に true と評価されるという同じ問題に直面する他のソリューションとは異なります。

その小さな問題にぶつかった他の誰かに役立つことを願っています。: )

于 2016-12-16T20:28:46.073 に答える
0

ヘルパー関数を書いて整理します:

function field_maybe(rs, fname) {
    return rs.fields(fname) || "";
}

...

if( !rs.bof ){
     rs.MoveFirst();
     while ( !rs.eof ){
        output.innerHTML += field_maybe(rs, "Name") + ","
        output.innerHTML += field_maybe(rs, "Address") + "<br>"
        rs.MoveNext();
    }
}
于 2012-06-30T12:09:28.480 に答える