• 締切済み

JSPでMySQLのデータ表示について

elcudeの回答

  • elcude
  • ベストアンサー率72% (32/44)
回答No.1

int sales = 0; while(rs.next()){ sales = cales + rs.getInt("sales"); } ではだめですか?

brin
質問者

補足

回答ありがとうございます。 この方法だと、始めの値を(100)を次の値(160…)から順に足して表示するようになってしまいます。 自分の説明不足なのですが、 name|sales|sum| a|100|1150| b|160| c|300| d|400| e|60| f|130| のように、合計値だけを取り出したいと考えています。 よろしくお願いします。

関連するQ&A

  • JSPとJavaBeansについて

    JSPとJavaBeansを用いて情報を共有したいと考えています。 値を取得した後に配列に入れています。 ArrayList list = new ArrayList(); while(rs.next()){ int op = rs.getInt("op"); list.add(new Integer(op)); } int[] in = new int[list.size()]; for (int i = 0; i < list.size(); i++) { in[i] = ((Integer)list.get(i)).intValue(); この後に、in[i]の要素をBeansに送り、別のJSPでその値を使いたいと考えています。 ただ、Beansで配列のデータを扱う場合にはどのようにすれば宜しいのでしょうか? アドバイスを頂けると助かります。 宜しくお願いします。

  • Javaによる数数え

    たとえば while(rs.next() { int state = rs.getInt("attendance"); attendanceは(-1,0,1)が含まれています。 それで、-1,0,1の数を数えて、それぞれ合計し、 画面に表示したいときはどうしたらいいのでしょうか。 例(-1が2個、0が3個、1が3個の場合) 画面に 2 3 3 初心者ですみません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JSPが表示できない

    サーブレットからJSPに表示させようとしているのですがJSPの中にJAVAソース を加えると表示できなく画面が真っ白になり、加えなければ表示できます。 原因がなぜなのかわからなく困惑中です。ソースは以下の通りです。 アドバイスお願いします。 <%@ page contentType="text/html;charset=Shift_JIS"                               import= "java.sql.*" %> <jsp:useBean id="Bean" class="Servlet"scope="session" /> <html> <head><title>表示画面</title></head> <body> // BeanファイルでデータをSQL文によって取り出しrs変数に格納し // getNameCDメソッドによってデータを取り出す。BeanファイルではSQL文 実行確認済み <% ResultSet rs = Bean.getNamaCD(); %> <%  while(rs.next()){ out.println(rs.getString(1)); // 名前のコードを取り出し表示させる。 } %> </body> </html>

  • JSPからMysqlへの接続

    タイトルどおり、以下のようなコードでMysqlデータベースに接続しようとしました。 <%@ page contentType="text/html; charset=Shift_JIS" import="java.sql.*" %> <html> <head> <title>データを表示する</title> </head> <body> <% //データベース設定 String sv = "localhost"; //サーバ名 String db = "test"; //データベース名 String user = "feifei"; //ユーザ名 String pass = "feifei"; //パスワード String encode = "EUC_JP"; //文字コード //データベースに接続する Class.forName("org.gjt.mm.mysql.Driver"); String url = "jdbc:mysql://" + sv + "/" + db + "?user=" + user + "&password=" + pass + "&useUnicode=true&characterEncoding=" + encode; Connection conn = DriverManager.getConnection(url); //データを取得する Statement st = conn.createStatement(); String sql = "SELECT * FROM table1"; //実行するSQL ResultSet rs = st.executeQuery(sql); //データを全件表示する out.println("<table border=0>"); while(rs.next()){ out.println("<tr>"); out.println("<td>" + rs.getInt("id") + "</td>"); out.println("<td>" + rs.getString("name") + "</td>"); out.println("<td>" + rs.getInt("point") + "</td>"); out.println("</tr>"); } out.println("</table>"); //データベース接続を閉じる conn.close(); %> </body> </html> しかし、なぜかわかりませんが、表示した内容のうち日本語はすべて[?]と文字化けしてしまいます。 ちゃんとディレクティブで「charset=Shift_JIS」と指定しているのになぞです。 どうか教えてください。よろしくお願いします。

    • ベストアンサー
    • Java
  • >続きJSPの表示問題

    <%@ page contentType="text/html; charset=euc-jp" %> <%@ page import="java.sql.*,atmarkit.MyDBAccess" %> ~略 int id = rs.getInt("member_id"); String name = rs.getString("name"); String age = rs.getString("age"); int state = rs.getInt("attendance"); String comment = rs.getString("comment"); if(comment != null){ comment = new String(comment.getBytes("ISO8859_1"),"EUC_JP"); } 画面でコメント欄に文字がいれて、うまく表示できないときがあります。具体的いうと「あ」いれて、エラーでます。 しかし「い」をいれたら 登録ボタン押して、表示ができました。 詳しい方いたら 教えてください。

  • JSPでのArrayListの表示について困っています

    以下のようにしてスレッドNoが同じものだけ表示したいと考えております。 servletの「text」という変数にはすべての値が格納されているところまでは確認できました。 それをJSPにて表示したいのですが、どのようにすれば出力されるのかわかりません。 どなたかお教えいただければと思います。 宜しく御願い致します。 --------------------------------------------------------- java /** * *TEXTテーブルからスレッドNoが同じものを返すメソッド * * */ public ArrayList selecttext(int no)throws SQLException{ ArrayList<Textbeen> list = new ArrayList<Textbeen>(); TextDAO kei =new TextDAO(); Connection db=kei.createConnection(); Statement sttSql=db.createStatement(); ResultSet rs=sttSql.executeQuery("SELECT * FROM TEXT WHERE KB_TH_NO='"+no+"' "); while(rs.next()){ String name=rs.getString("KB_NAME"); String tino =rs.getString("KB_TITLE_NO"); String title = rs.getString("KB_TITLE"); String mail = rs.getString("KB_MAIL"); String text = rs.getString("KB_TEXT"); String pass = rs.getString("KB_TITLE_PASS"); String date = rs.getString("KB_TIME"); int th_no = rs.getInt("KB_TH_NO"); Textbeen thread = new Textbeen(name, title, tino, mail, text, pass, date, th_no); //TO(Threadオブジェクト)を、保持するリストに追加 list.add(thread); } kei.closeConnection(db); return list; } ---------------------------------------------------------- servlet ArrayList text = new ArrayList(); try{ text = list.selecttext(TH_no); } catch(Exception e){ e.getStackTrace(); } request.setAttribute("test", text); String nextPage = "/view/user/ThreadTop.jsp"; ----------------------------------------------------------

  • ブラウザ上でデータベースのテーブル表示について

    こんにちは。研修の問題についてなのですが・・・ postgresql+jsp+servlet でお聞きしたい事があります。 環境は(ちょっとわからないので)最新のものでお願いします。 まず、 servletからDBに接続、SQL文でテーブル内容全てを取得。 SQL文を実行してResultSetをこのままrequestにいれてjspへ送る。 jspでrequestを取得、next()、getIntなどでResultSetの中身を取得。 <%= %>でブラウザに表示する。 という形なのですが、テーブルの中身の最後の行 しか表示されないのです。 テーブル内は他にもいくらか行があります。 これはなぜなのでしょうか? ResultSetをそのまま送るとこの結果になるのでしょうか? servletでテーブル内を全て取得してから[(rs.next())、get~を使って。] jspに送ったほうがいいのでしょうか? またその場合は取得した値をそのままrequestに入れて送るものなのでしょうか? 聞いてばかりでお恥ずかしいですが ちょっと行きずまってます。宜しくお願いいたします。

    • ベストアンサー
    • Java
  • jspでの表示の仕方

    下記のような、jspへの受け渡しができずにいます。 ご回答お願いします。 Servletは、 String query = "SELECT * FROM test"; ResultSet resultset = statement.executeQuery( query ); request.setAttribute("obj",resultset); ServletContext context = getServletContext(); RequestDispatcher rd = context.getRequestDispatcher("/kekka.jsp"); rd.forward(request,respons); とした時、jsp側で、 <%@ page contentType="text/html;charset=Shift_JIS" %> <%@ page import = "java.sql.*" %> <%! ResultSet rs = (ResultSet)request.getAttribute("obj"); %> <% While(rs.next()){String hinmei = rs.getString("hinmei");} %> <html> <head> <title>JSP</title> </head> <body> <table border="0"> <tr> <td><%=hinmei%></td> </tr> </table> </body> </html> と、したいのですが、白い画面になりjspの表示ができません。 やはり、ResultSetオブジェクトのAttributeはできないのでしょうか? それとも、jspの構文に問題があるのでしょうか? Vector、Stringは、この形のやり方で表示できたのですが・・・。 間違いを指摘してください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JSPからMYSQLへの接続について

    はじめまして 初めて質問をさせていただきます。 qazxsw1と申します。 タイトルの通り、JSPからMYSQLに接続するプログラムなのですが、下記のようなエラーが出て、その後試行錯誤しましたがやはりうまくいきません。 java.sql.SQLException: Access denied for user 'mysql'@'localhost' (using password: YES) 参考にさせていただいたサイトは以下の通りです。 http://www.hellohiro.com/jspdb.htm mysql-connector-java-○.○-bin.jarファイルは[Tomcatのフォルダ]\shared\libにあります。 バージョンはTomcat4.1、MySQL Server4.1です。 ソースコードは以下の通りです。 データベース名、ユーザ名、パスワードは伏せてあります。 お手数ですが、詳しい方がいらっしゃいましたらよろしくお願いします。  <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="java.sql.*" %> <% Connection con = null; Statement stmt = null; try { // ドライバクラスをロード Class.forName("org.gjt.mm.mysql.Driver"); // データベースへ接続 String url = "jdbc:mysql:///データベース名?useUnicode=true&characterEncoding=SJIS"; con = DriverManager.getConnection(url, "ユーザ名", "パスワード"); // ステートメントオブジェクトを生成 stmt = con.createStatement(); // 全ての行を検索するSQL文を作成 String sql = "SELECT * FROM kaiin_tbl"; // クエリーを実行して結果セットを取得 ResultSet rs = stmt.executeQuery(sql); %> <html> <head> <title>JSPでDB接続</title> </head> <body> <table border="1"> <tr> <th>NO</th> <th>言語</th> <th>メッセージ</th> </tr> <% // 検索された行数分ループ while(rs.next()){ %> <tr> <td><%=rs.getInt("NO") %></td> <td><%=rs.getString("LANGUAGE") %></td> <td><%=rs.getString("MESSAGE") %></td> </tr> <% } // end while %> </table> </body> </html> <% } catch (Exception e) { out.println("<font color=red><h3>エラー!</h3></font>" + e); e.printStackTrace(); } finally { // データベースへの接続をクローズします try { if (stmt!=null) { stmt.close(); } if (con!=null) { con.close(); } } catch (Exception e) { e.printStackTrace(); } } %>

  • JSP表示エラー?

    たびたびすみません リクエストから取ってきたコメントどうしても表示ができないです。 環境は tomcat5.5 postgresql8.2 データベースエンコーディングはEUC_JP JSPファイルもEUC形式で保存してます。 コメント欄に日本語を入力するとエラーが出てしまいます。 JSPファイル1 <%@ page contentType="text/html; charset=euc-jp"pageEncoding="euc-jp" %> <%@ page import="java.sql.*,atmarkit.MyDBAccess" %> <% // 内容: データベースにアクセスする MyDBAccess db = new MyDBAccess(); db.open(); ResultSet rs = db.getResultSet("SELECT * FROM SHAINLIST order by member_id"); String tableL = "<table border=1>"; tableL += "<tr bgcolor=\"000080\"><td><font color=\"white\">ID</font></td>" + "<td nowrap><font color=\"white\">名前</font></td>" + "<td colspan=2><font color=\"white\">出欠</font></td>"; while(rs.next()) { int id = rs.getInt("member_id"); String name = rs.getString("name"); String age = rs.getString("age"); int state = rs.getInt("attendance"); String comment = rs.getString("comment"); if(comment != null){ comment = new String(comment.getBytes("8859_1"),"EUC_JP"); } 以下~略 JSPファイル2 <%@ page contentType="text/html; charset=euc-jp"pageEncoding="euc-jp" %> <%@ page import="java.sql.*, atmarkit.MyDBAccess" %> <% // 内容: データベースにアクセスする // 入力された引数を取得する String comment = request.getParameter("comment"); String attendance = request.getParameter("attendance"); String member_id = request.getParameter("member_id"); // MyDBAccess のインスタンスを生成する MyDBAccess db = new MyDBAccess(); // データベースへのアクセス db.open(); // データベース更新用のSQL文を作成 String sql = "update shainlist set comment='" + comment + "', attendance=" + attendance + " where member_id=" + member_id; // SQL文を実行 db.execute(sql); くわしい方教えていただけないでしょうか よろしくお願いします。

    • ベストアンサー
    • Java