JavaでDBから取得した値がResultSetのどこに格納されているかを知りたい

このQ&Aのポイント
  • JavaのプログラムでDBから取得した値は、ResultSetオブジェクト内に格納されています。
  • 具体的には、参照変数名が「results」のResultSetオブジェクト内の「xxxxx>xxxxxx>xxxxxx」に値が格納されています。
  • この部分には、DBから取得した値が格納されているため、ここを確認すると値を書き換えてテストすることができます。
回答を見る
  • ベストアンサー

ResultSetの内部構造(Java)

JavaでDBから値を抽出してくるプログラムを作っています。 SQLの結果をResultSetのオブジェクト(参照変数名を「results」とする)に格納しているのですが、 Eclipseのデバッグ機能実行中に、resultsに格納されたDBからの値を書き換えてテストしたいです。 が、 resultsの中には非常に多くの情報が格納されているため、 どこに値が格納されているのか見つけ出す事が出来ませんでした。 DBから取得した値は、ResultSetの中のどこに格納されているのでしょうか? 「"results>xxxxx>xxxxxx>xxxxxx"に格納されている」というような形でご教示頂けると嬉しいです! よろしくお願いします。

  • Java
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
noname#155524
noname#155524
回答No.1

java.sql.ResultSet はインタフェースなので、実装しているAPIに依存します。

参考URL:
http://java.sun.com/javase/ja/6/docs/ja/api/java/sql/ResultSet.html

関連するQ&A

  • javaのResultSetについて

    現在、javaの勉強中です。 そこで、ResultSetについて質問があります。 私は、今まで主にC#で開発をやっていました。 C#だと、クライアント(WindowsForm) → Webサーバー → APサーバー → DB という構成で、サーバー間をデータセットでやり取りしていました。 ただ、javaは私のコーディングミスかもしれませんが、DBサーバーで取得した値を ResultSetに入れて、Connectionやら、StatementをCloseすると、ResultSetも消滅してしまっています。 こういう場合は、取得直後に、なにか別のクラス変数などに移し変えるのが正しいのでしょうか? ただ、そうなると、私の勝手な考えですが必要な列分の配列変数が必要なのでは?と、思ってしまっていて、 そうなると、ナンセンスだな・・・・と思っています。 ほかに何か良いやり方はあるのでしょうか? それとも、そもそも、DB接続の専用クラスというものはJavaに必要なのでしょうか? (上記のC#の考えでいけば、間のWebサーバーとAPサーバーが不要?) よろしくお願いします。

    • ベストアンサー
    • Java
  • javaのResultSetについて

    javaのResultSetについてですが、getStringでSQL名を選択して取得するのですが、変数で指定した場合は、文字列と判断され取得できないのでしょうか? 例えばSQLの列名の「test」を取得したい場合は、「rs.getString(test)」と記述しますが、 以下のように変数に置き換えて、取得しようすると、 String test2 = "test"; rs.getString(test2)というようにすると、カラムがありませんとエラーが返ってきます。 変数に置き換えて実行したいのですが、何か良い方法がないかご教授いただけますでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • getStringの値がNULLの時の処理

    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>

    • ベストアンサー
    • Java
  • 【Java】参照型で宣言された変数名の抽出

    現在、Javaを学習中の大学生です。 Javaのソースコードを解析し、その中で宣言されている変数名を抽出して、 変数表のようなものを作成するJavaプログラムを書いているのですが、 参照型(クラス型)で宣言されている変数名を抽出する方法が思いつきません。 よろしければ、何かアイディアをいただけないでしょうか。 プリミティブ型の変数については、StreamTokenizerクラスを利用しています。 コードをトークンに分解して、型名の次に来るワードトークンを変数名として抽出 するという、単純な方法を使っています。こちらも、改良すべき点などあれば、 アドバイスいただけるとありがたいです。 デバッガを使えば出来ないことはないようですが、 出来ればデバッガは使わない方法でお願いします。

    • ベストアンサー
    • Java
  • コンボボックスやリストボックスの値設定

    コンボボックスやリストボックスに データベースの値で設定するときについて疑問があります。 現システムでは JSP内でsqlタグを使ってレコードセットを取得し <core:forEach>でぐるぐるまわして値をセットしています。 ↓こんな感じです。 ----------------------------------------------------------- <sql:setDataSource var="db" dataSource="jdbc/xxxxx" /> <sql:query var="rs" dataSource="${db}" > SELECT * FROM XXXXX </sql:query> <select name="xxxxx"> <c:forEach var="row" items="${rs.rows}" > <option value="${row['xxxxx']}" <c:if test="${row['xxxxx'] == requestScope.xxxxx}" > selected </c:if> >${fn:escapeXml(row['xxxxx'])}</option> </c:forEach> </select> ----------------------------------------------------------- これでもちゃんと動いてるのですがMVCを考えるとJSP内でDB接続って疑問に感じます。 Sevletでコンボボックスに必要な値を取得しておいてリクエスト属性にセットし JSP内では変数をぐるぐる回すことも考えたのですが、 コンボボックスやリストボックスの数が増えたり面倒に思います。 コンボボックスやリストボックスに値を設定する場合は どういう方法がよいのでしょうか?

    • ベストアンサー
    • Java
  • 「・」中点が入った文字列を条件にするとデータを抽出できないです

    「・」中点が入った文字列を条件にすると データを抽出できないです。 うまくいかない例 ------------------------------------------- $name = "春・春・春"; $Sql = "SELECT * FROM TestList"; $Sql .= " WHERE SpName = '".$name."'"; ------------------------------------------- 条件を変数に格納してSQL文に渡すと何も抽出できません。 しかし↓のようにSQLに直に「春・春・春」とすると うまくデータが抽出されます。 うまくいった例 ------------------------------------------- $Sql = "SELECT * FROM TestList"; $Sql .= " WHERE SpName = '春・春・春'"; ------------------------------------------- また「・」中点がない条件では変数で渡しても データがうまく抽出されます。 どうしたら「・」中点が入っている条件を 変数に格納してSQLに渡しても うまくデータが抽出されるでしょうか? どなたかご教示いただけますと助かります。 よろしくお願いします。

  • eclipseのデバッグ中に変数の値(長い文字列)を確認したい

    eclipseによるjavaソースのデバッグ中に変数の値を確認したいとき、 変数を選択→右クリック→監視 をよく使用しています。 しかし先日、StringBufferにセットされたSQLを見ようとしたところ 文字列が長すぎたためか後半を「...」と省略して表示されてしまいました。 どうにかしてソースコードをいじらずに(printlnの埋め込み等)この長い文字列を確認する方法はありませんでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Java
  • SQL文で

    SQL2000serverで 異なる2つのデーターベースの中にある 別のテーブルの情報を SQL文を使って、抽出する事は出来るのでしょうか? たとえば下記のように「DB-A」「DB-B」と言った 二つのDBの中のそれぞれのテーブルのIDフィールドで リレーションを取ってDB-AのTablA1のFldAの 値(AA)からDB-BのTablB1のFldBの値(あ)を 抽出することはSQL文で可能なのでしょうか? DB-A DB-B TablA1 TableB1 ID FldA ID FldB 1 AA 1 あ 2 BB       2 い 3 CC 3 う 4 DD 4 え

  • Stringクラスの変数の格納アドレスを知りたい

    いつもお世話になります。 Javaの文字列クラスのStringは参照型ですが、この変数の値が格納されたアドレスを知るためにはどうすればよいのでしょうか。eclipse上で、文字列の変数に対してtoString()を試してみたところ、格納されている文字列が出力されました。 ※自作したクラス、たとえばtest.MyClassだとすれば、toString()を用いれば「test.MyClass@01234」というような表記で出力されますが、このような情報を取得するにはどうすればよいでしょうか。 宜しくお願いします。

    • ベストアンサー
    • Java
  • VB 2005 データテーブルのソートについて

    恐れ入ります。 VB 2005 初心者です。 さっそく質問させていただきます。 VB 2005にて、SQL Server 2003を利用し、 とあるシステムを作成しています。 その中で、DBより取得したデータを、 DataTableのdatatblという変数に格納し、 さらにそのdatatblより、とある条件にて値が欲しくなったので、 dr = datatbl.Select("clm = " & strData & " AND clm2 = '0'") のようにし、DataRowのdrという変数につっこんでます。 ここで、ソートによる並んだデータとして値が必要になりました。 DBで取得し、条件でDataRowにつっこんだ後に、データを ソートすることは可能でしょうか? 可能であれば、やり方を教えていただけると幸いです。 宜しくお願いいたします。

専門家に質問してみよう