プロが教えるわが家の防犯対策術!

javascriptに関して質問させて下さい。

accessのDBのデータをHTML上で表示・追加・削除・更新を行っています。
DB上のデータで空欄の項目を表示させたときに null が表示されます。
nullではなく空欄にしておきたいので、null判定チェックを
行っているのですが、ひっかかってくれない状態です。


-------------

var database;
database = new ActiveXObject("ADODB.Connection");
database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\\mydb.mdb;");

var mySql = "select 種別, 内容 from Aテーブル;
var recordSet = database.Execute(mySql);

var tempHtml = "種別=" + recordSet(0);

if(recordSet(1) != null){
tempHtml = tempHtml + "<br>内容=" + recordSet(1);
}else{
tempHtml = tempHtml + "<br>内容=";
}

(略)

---------------

recordSet(0)=種別
recordSet(1)=内容


上記のように普通にnull判定をしてるつもりなのですが、
recordSet(1)=内容 が access上で空欄の場合=null もif文内に入り、
「null」という文字列が表記されます。


※accessからとってきたデータではなく、
 javascript内で null を設定した場合はチェックにひっかかっています。

var tmp = null;
if(tmp == null){
alert("nullである");
}


何が悪いかお分かりになる方、ご回答お願いします。

A 回答 (1件)

if(recordSet(1) != null){


これでは RecordSetオブジェクトが nullかどうかの判断になってしまいます
if(recordSet(1).value != null){
といった形で比較しましょう
    • good
    • 1
この回答へのお礼

早速のご回答ありがとうございます!
回答どおりに if文の修正を行ったところ、
期待どおりの結果を出すことができました。

null判定の問題ではなく、比較対象の間違い
とは、初歩的すぎますね・・・
勉強になりました。

お礼日時:2008/12/12 10:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!