![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
DB:SQL Server 2005
JDBCを使ってデータベースへアクセスし、SQL発行して結果をResultsetに格納、getStringで各項目の値を取得するところまでは確認できています。
外部結合したテーブルを参照していおり、getString()でnullを取得した場合にjava.lang.NullPointerExceptionが返ってエラーとなってしまいます。
回避策はあるのでしょうか?
抜粋したソースを下記に記します。
-- test.jsp --
<%
ResultSet rs = db.executeQuery(sql);
while(rs.next()){
String disp_object = rs.getString("object");
if(disp_object == null) disp_object="---";
}
%>
<tr>Object</tr>
<tr><%=disp_object%></tr>
No.2ベストアンサー
- 回答日時:
<%
ResultSet rs = db.executeQuery(sql);
String disp_object = "---";
while(rs.next()){
disp_object = rs.getString("object");
if (disp_object == null) {
disp_object = "---";
}
}
%>
<tr>Object</tr>
<tr><%=disp_object%></tr>
これでどうです?
※ ProKaseifuさんの回答にある記述でも
NullPointerは発生しないような気もしますが・・・?
御回答有難う御座います
すみません、自己解決しました。。。
結果的に、NullPointerが発生している箇所が私の質問した箇所と異なっていたという最悪の結果でした。
「getString()ではnullの値を読む時にエラーが発生する」となぜか勝手に解釈をしていましたが、実際にはその文字列を操作した時に発生していました。
大変、御手数をお掛け致しました(/-T);
恥ずかしながら該当する箇所を記載致します。
String discom1; // ページに表示する値。
String com = rs.getString("comment"); // commentの値をcomに格納
if(com.length() > 5)discom1 = com.substring(0, 5) + ".."; // 文字数が6文字以上は「aaaaa..」と表示
という箇所を
String discom1="";
String com="";
if(com1 != null){
if(com1.length() > 5)discom1 = com1.substring(0, 5) + "..";
}
としただけです。
ProKaseifulさん並びにpug0429さん、大変失礼をいたしました。
No.1
- 回答日時:
変数のスコープがおかしいですよ。
<%
ResultSet rs = db.executeQuery(sql);
String disp_object = "---";
while(rs.next()){
disp_object = rs.getString("object");
}
%>
<tr>Object</tr>
<tr><%=disp_object%></tr>
御解答有難う御座います。
String disp_object = "---";
を追加してみましたが、やはり結果は同じjava.lang.NullPointerExceptionが返ってきました。
NULL値を参照する場合の常套手段というのは何かあるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Javascriptの値をJava(JSP)へ渡す方法
Java
-
GROUP BYを行った後に結合したい。
Oracle
-
JSPの処理の途中で、JavaScriptの処理をしたい
JavaScript
-
-
4
ResultSet での問題
Java
-
5
JavaScriptの変数をjavaのメソッドの引数に渡す
JavaScript
-
6
IOException ってどういうときに起こるのでしょうか?
Java
-
7
Excelで"で囲む方法
Excel(エクセル)
-
8
functionから別のfunctionを実行したい
JavaScript
-
9
jspでbeanを使いたいのですが...
Java
-
10
getParameter と getAttributeの違いについて
Java
-
11
JSP NullPointerException
Java
-
12
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
13
JSONで文字列が長い時
その他(プログラミング・Web制作)
-
14
javaで質問です。 文字列2023/2/3(一桁の場合、0埋めなし)の場合にyyyyMMddに変換
Java
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Java配列でNullPointerExceptio...
-
配列にnullを代入すると、null...
-
getStringの値がNULLの時の処理
-
例外でBeanUtils.populateが、...
-
BOOL値を逆にしたい
-
Javaでboolean型を使ってのうる...
-
プログラミングの問題です。大...
-
java
-
Visual Basic でのコードをASCI...
-
マージソートについて
-
【struts】 ActionFormで別のAc...
-
スタイルシートが適用されない。
-
C言語でunsigned char配列を連...
-
アルファベットのソート
-
JAVAのDouble型の小数点以下の...
-
ダブルクォーテーションのrepla...
-
hiddenの値が期待した値で取得...
-
JSPでImportエラーになります
-
2つのスクロールバーを連動させ...
-
sin曲線とcos曲線を描くプログ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列にnullを代入すると、null...
-
ORA-01858: 数値を指定する箇所...
-
Java配列でNullPointerExceptio...
-
getStringの値がNULLの時の処理
-
BOOL値を逆にしたい
-
C# ListBoxのインデックスの値...
-
eclipseでoracle接続時のエラー...
-
gas カレンダー祭日設定でエラー
-
Stringを返す getText()メソッ...
-
Javascript エラーメッセージが...
-
JSPで複数のSQL実行につ...
-
jsp/Servletの動的に増えるフォ...
-
JSPでの画面表示の方法
-
例外でBeanUtils.populateが、...
-
C#でラジオボタンとコンボボッ...
-
Safari ダウンロード時に日本語...
-
java 引数 戻り値のあるメソッド
-
HashMapがおかしい
-
逆コンパイルの見方について(...
-
JavaScriptのnullはいつ使う?
おすすめ情報