※ ChatGPTを利用し、要約された質問です(原文:null 判定について)
null判定について
このQ&Aのポイント
javascriptでDBのデータを表示・追加・削除・更新している際に、空欄項目をnullではなく空欄にしたいが、null判定がうまく機能しない問題が発生しています。
普通にnull判定をしているつもりなのですが、access上で空欄の場合でもif文内に入り、「null」という文字列が表示されてしまいます。
accessから取得したデータではなく、javascript内でnullを設定した場合はチェックが正常に動作しています。何が原因なのか教えていただきたいです。
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である");
}
何が悪いかお分かりになる方、ご回答お願いします。
お礼
早速のご回答ありがとうございます! 回答どおりに if文の修正を行ったところ、 期待どおりの結果を出すことができました。 null判定の問題ではなく、比較対象の間違い とは、初歩的すぎますね・・・ 勉強になりました。