• 締切済み

サブミットへ値を入れたいのですが・・・

プログラミングを始めて3ヶ月になります。 只今、javaで作品をつくっております。 そこで、プルダウンの中にDBからとってきた値を入れることができません。 何が不足しているのかよく分からなくて・・・ 初歩的な質問で申し訳ございませんが、どなたかご教授頂けたらと思います。宜しくお願いします。 html += "職業"; sql = "select job_nm from t13_job order by job_id"; rs = statement.executeQuery(sql); html += "<SELECT name=\"Job\">"; while(rs.next()) {  html += "<OPTION value =" + rs.getString("job_nm"); } html += "</OPTION></SELECT><BR><BR>";

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

みんなの回答

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

Java以前にHTMLがなってないわよ。 </option>はwhileループ内で記述するべきじゃない?

関連するQ&A

  • 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(servlet)からMySQLに接続し、ブラウザ画面ではJavaScriptを使ったプログラムを作っています(初心者なので、本を見ながらですが)。 ResultSet rs1=st1.executeQuery("select hiro from hirotable"); While(rs1.next()){ String hirodata=rs1.getString(1); out.println("<form>");  out.println("<select>"); out.println("<option>+hirodata+</option>"); データベースから取得した値をセレクトメニュー内にすべて表示させたいのですが、このようにするとデータの数だけセレクトメニューができてしまいます。配列の考え方が今ひとつピンとこないのですが、これと関係しているのでしょうか?どなたか教えていただけないでしょうか? よろしくお願い致します。  

    • ベストアンサー
    • Java
  • JSPのDB接続

    いつもお世話になっております。 只今、JSPでoracleに接続しデータを表示するプログラムを作っていますが、 コンパイルエラーが出てしまい、いろいろと原因を探ってはみたものの うまくいきませんでした。ソースは以下の通りです。 <HTML> <HEAD> </HEAD> <BODY> <%@page import="java.sql.*" %> <CENTER> <% ResultSet rs = null; Class.forName("oracle.jdbc.OracleDriver"); Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/BIT21"); Statement stmt = con.createStatement(); // 実行して結果セットを取得する rs = stmt.executeQuery("SELECT * FROM BOOKMST"); // 結果セットの分だけループして表示する while (rs.next()) { %> <BR> <%= rs.getString("PICTURE") %><BR> <%= rs.getString("SALEDATE") %><BR> <%= rs.getString("PRICE") %><br> <%= rs.getString("ISBNCODE") %><BR> <BR> <% } con.close(); %> </CENTER> </BODY> </HTML> エラーは javax.servlet.ServletException: コールの引数が無効です。 と出てしまいます。 原因がわかる方どうかご教授願います。

    • ベストアンサー
    • Java
  • 計算ができません。

    JDBCでプログラミングをしています。 テーブルからデータを取り出して、 計算をして、違うテーブルに格納するプログラムを作っているのですが、 計算した値が出てきません。 どこがおかしいのかわかりません。 ご指摘をお願いします。 プログラムの一部です。 ********** Connection connection =DriverManager .get connection(XXXX); Statement statement = connection.createStatement(); ResultSet rs5 = statement .executeQuery("salect ENAME, JOB, SAL, COMM from EMP where JOB = 'PRESIDENT'"); while(rs5.next()) { String ename = rs5.getString(1); String job = rs5.getString(2); long sal = rs5.getLong(3); sal = round(sal*9.00+(sal*0,19)); long comm = rs5.getLong(4); String sql ="insert into BONUS values(?,?,?,?)"; PreparedStatement prestmt = connection.prepareStatement(sql); int result = 0; for(int i = 0; i<1; i++) { prestmt.setString(1.ename); prestmt.setString(2.job); prestmt.setLong(3.sal); prestmt.setLong(4.comm); result += prestmt.executeUpdate(); } } rs5.close(); statement.close(); connection.close(); ********** プログラムの中でSALの計算をしているのですが、 結果として出てくるのが元の値です。 計算結果をどうしたら出せるのか教えてください。

  • WebSphere/DB2/ResultSet close/Exception

    WebSphereを使って、Listenerで取得したデータソースを利用していますが、 String sql1 = "SELECT A1 FROM TEST1"; String sql2 = "SELECT B2 FROM TEST2 WHERE B1 = ?"; Connection conn = datasource.getConnection(); PreparedStatement ps1 = conn.preparedStatement(sql1); ResultSet rs1 = ps1.executeQuery(); while(rs1.next()){ PreparedStatement ps2 = conn.preparedStatement(sql2); ps2.setString(1,rs1.getString("A1")); ResultSet rs2 = ps2.executeQuery(); ps2.close(); } このロジックで、ps2をクローズすると、ps1で取得したResultSet rs1がクローズされるというExceptionが発生してしまいます。 (ループして戻ったときにrs1.next()でexceptionが起こる) なにか対処方法があるかご存知の方いらっしゃいましたら、よろしくお願いいたします。

    • ベストアンサー
    • Java
  • 【SQLServer接続のJSPの記述を教えて下さい!】

    いつもありがとうござます。 今回、SQLServerのテーブルを使用したjspを作成しているのですが MS ACCESSしか使用した事がなく設定が分からなく困っています。 ソースはこんな感じです。 <%@ page contentType="text/html;charset=Windows-31J" %> <HTML> <HEAD> <TITLE>一覧</TITLE> </HEAD> <BODY bgcolor="#ffffcc"> <CENTER> <%@page import="java.sql.*"%> <% class.forName("sun.jdbc.odbc.JbdcOdbcDriver"); Connection con = DriverManager.getConnection(test,no,nono); string sql = "select * from T_Transfer"; Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ out.print(rs.getString("F1")); out.print(rs.getString("F2")); out.print(rs.getString("F3")); out.print(rs.getString("F4")); out.print(rs.getString("F5")); out.print(rs.getString("F6")); out.print(rs.getString("F7")); } con.close(); %> </CENTER> </BODY> </HTML> コンパイルできないとのエラーがでます。 xmlは記述が分からないので一切触っていません。 上記ソースの場合のxmlの記述もご教授下さい。 宜しくお願い致します!

    • ベストアンサー
    • Java
  • JSPで複数テーブルのSQL実行後に値を送る方法を教えて下さい!

    いつもお世話になっております。 JSPにてUNION ALLを使用してSQLを実行します。 (ソースは必要部分のみ記載致します) SQL実行後にテーブルのカラムにある「番号」と「テーブル名」を <FORM method="post" action="Next_View.jsp?table=????"> <input type="hidden" name="num" value="<%= rs.getString("番号")%>"> の部分で送りたいのですがどの様に記述すればいいのか調べてみましたが 分かりませんでした。 説明が分かりにくいかもしれませんがどうかご教示下さいませ。 ちなみに番号はT_2005・T_2006・T_2007 共に1から順にオートナンバーで振られています。 String str = request.getParameter("Num"); rs = stmt.executeQuery ("SELECT * FROM T_2005 where ID='"+ str +"' union all SELECT * FROM T_2006 where ID='"+ str +"' union all SELECT * FROM T_2007 where ID='"+ str +"'"); while (rs.next()){ String year = rs.getString("年齢"); String number = rs.getString("電話番号"); String add = rs.getString("住所"); %> <TR> <FORM method="post" action="Next_View.jsp?table=????"> <input type="hidden" name="num" value="<%= rs.getString("番号")%>"> <TD><%= year %></TD> <TD><%= number %></TD> <TD><%= add %></TD> <%-- 詳細ボタンを表示 --%> <input type="submit" value="詳細"> </form> </TD> </TR>

    • ベストアンサー
    • Java
  • SQLの実行がされない

    WINXP PRO  TOMCAT4.1.24 j2sdk1.4.1_06 です。 DBはMySqlを使って 以下のコードで接続し、 現在より後の日付のもの出力したいので SELECT * FROM kaigi_reservation WHERE utildate >= sysdate() ORDER BY reserveid ASC というSQLにしましたが、これが全く機能しません。 (抽出されずにそのまま全行出力される) MySql上で直接出力するとほしい結果が得られるのですが。 要領をえなくて申し訳ないのですが 良いアドバイスありましたらお願いします。 ResourceBundle bundle = ResourceBundle.getBundle("../mysqlresource"); String url = bundle.getString("URL"); String driver = bundle.getString("Driver"); Class.forName(driver); Connection dbconnect = DriverManager.getConnection(url); Statement stmt = dbconnect.createStatement(); String query = "SELECT * FROM kaigi_reservation WHERE utildate >= sysdate() ORDER BY reserveid ASC "; ResultSet rs = stmt.executeQuery(query); while(rs.next()){ ReserveInfo info = new ReserveInfo(); info.reserveId = rs.getInt("reserveid"); info.utilDate = rs.getString("utildate"); info.beginTime = rs.getString("beginingtime"); info.endTime = rs.getString("endingtime"); info.conference = rs.getString("conference"); info.name = rs.getString("name"); info.object = rs.getString("object"); result.add(info); } rs.close(); stmt.close(); dbconnect.close();

    • ベストアンサー
    • Java
  • コンパイルエラー

    現在勉強の為、JSPでショッピングカートを作成中です。 その中でDBからデータを読み込み商品一覧を出すプログラムを作っていますが、コンパイルエラーが出てしまいうまくできません。 ソースは <%@ page import="java.sql.*" %> <% Connection con = null; ResultSet rs = null; Class.forName("oracle.jdbc.OracleDriver"); con = DriverManager.getConnection("jdbc:oracle:thin//localhost:1521/bit21"); Statement stmt = con.createStatement(); // 実行して結果セットを取得する rs = stmt.executeQuery("SELECT * FROM BOOKMST"); // 結果セットの分だけループして表示する while (rs.next()) { %> <%= rs.getstring("SALEDATE") %> <table> <tr align="center"><td>定価:</TD><TD><%= rs.getstring("PRICE") %></TD><TD>円</td></tr> </td></tr></TABLE> <% } con.close(); %> でエラー内容は C:\tomcat-5.0.28\work\Catalina\localhost\bookshop\org\apache\jsp\lineup_jsp.java :84: シンボルを解決できません。 シンボル: メソッド getstring (java.lang.String) 場所 : java.sql.ResultSet の インタフェース out.print( rs.getstring("PRICE") ); ^ です。 どこが間違っているのかわからず困っています。 どなたかご教授お願い致します。

    • ベストアンサー
    • Java
  • 【PHP】 DB経由のプルダウンメニューに、DBの変更なしで追加させたい

    毎度毎度の質問失礼します。 今ではおかげ様で、PHPのプルダウンメニューをデータベースから取得し、作成できるようになりました。 今回は、そのプルダウンメニューの一番上に、「選択してください」といった項目を追加したいのです。 なるべく、既存のDBの内容を変更させずにこの変更を行いたいのです。 それとも、やはりDBを変更しない限りできないことなのでしょうか? 以下は既存のソース(PHPのみ)です。 ----------------------------------------------------- <?php //ファイルを読み込み require_once("bussys.php"); // クエリを送信する $sql = "SELECT * FROM scd ORDER BY scd"; $result = executeQuery($sql); //結果セットの行数を取得する $rows = mysql_num_rows($result); //表示するデータを、プルダウンメニューとして作成 $options=""; while($row = mysql_fetch_array($result,MYSQL_ASSOC)){ $options.="<option value='{$row['scd']}'>{$row['sname']}</option>\n"; } $select="<select name='hoge'>\n{$options}</select>\n"; print $select; //結果保持用メモリを開放 mysql_free_result($result); ?> ----------------------------------------------------- 質問ばかりで申し訳ございませんが、どうかよろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう