[解決済み] ResultSetにカラム名が存在するかどうかを確認するにはどうすればよいですか?
2023-07-17 17:35:31
質問内容
このような場合
ResultSet
には動的 SQL から返されたデータが含まれるので、もし
ResultSet
は、特定のカラム名を含んでいますか?
例えば、もし私が
rs.getString("Column_ABC")
を実行しても
"Column_ABC"
が本当に存在しない場合、例外を投げ出します。
どのようにすれば
ResultSet
という名前のカラムからデータを取得できるかどうかをテストするには
"Column_ABC"
?
どのように解決するのですか?
を使用します。
ResultSetMetaData
クラスを使ってください。
public static boolean hasColumn(ResultSet rs, String columnName) throws SQLException {
ResultSetMetaData rsmd = rs.getMetaData();
int columns = rsmd.getColumnCount();
for (int x = 1; x <= columns; x++) {
if (columnName.equals(rsmd.getColumnName(x))) {
return true;
}
}
return false;
}
私が理解できないのは、なぜこの関数が必要なのかということです。 実行されるクエリやストアドプロシージャは、結果が分かっているはずです。 クエリのカラムは既知のものでなければなりません。 このような関数が必要であるということは、どこかに設計上の問題があることを示しているのかもしれません。
関連
-
CertificateException: XXXに一致するサブジェクトの代替DNS名が見つかりません 解決策
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] スタックトレースを文字列に変換するにはどうすればよいですか?
-
[解決済み] Javaクラスにおけるcanonical name、simple name、class nameの違いは何ですか?
-
[解決済み] Javaにおける例外処理によるパフォーマンスへの影響とは?
-
[解決済み] Java 8のストリーム内部からCHECKED例外を投げるにはどうすればよいですか?
-
[解決済み】JSP 2を使用して、JSPファイル内のJavaコードを回避するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
Javaでよくある構文エラー
-
ブートレイヤーの初期化中にエラーが発生しました java.lang.module.FindException: モジュールが見つかりません
-
強制型変換について
-
名前 'XXX' を持つ Bean の作成に失敗しました。自動依存関係の注入に失敗しました 解決方法
-
java マイクロソフト払い戻し予期せぬサーバーからのファイルの終了
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
セミコロン期待値エラー解決
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
春ブート複数のデータソースの管理(atomikos)同じサーバーホスト上の複数のプロジェクトを開始する複数のJava - jarのエラーソリューション