質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.48%

  • SQL

    2468questions

    SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

JSP実行時のエラーメッセージについて

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 6,673

yk-211

score 31

前提・実現したいこと

こんにちは、質問です。
JSPを実行した際にSQLの接続?に関するエラーメッセージが出てきまして、
検索してみたのですが解決しませんでしたので、
質問させてください。
下記に記載いたしますので、原因が分かる方教えていただけないでしょうか。
よろしくお願いいたします。

発生している問題・エラーメッセージ

 No value specified for parameter 11
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:937)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:872)
    at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2285)
    at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2265)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2124)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2081)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2066)
    at common.AbstractUpdateDao.executeUpdateSql(AbstractUpdateDao.java:88)
    at common.AbstractUpdateDao.execute(AbstractUpdateDao.java:55)
    at customer.CustomerDetail.doUpdate(CustomerDetail.java:434)
    at customer.CustomerDetail.execute(CustomerDetail.java:80)
    at common.AbstractBizLogic.doProcess(AbstractBizLogic.java:87)
    at common.AbstractBizLogic.doPost(AbstractBizLogic.java:61)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)


補足情報(言語/FW/ツール等のバージョンなど)

    
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

パラメータ利用のSQLを使っていて、その11番目のパラメータが未設定なのだと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/10 14:59

    回答ありがとうございます。
    11番目のパラメーターがセット出来ていないという事でしょうか?

    キャンセル

  • 2015/06/10 15:16

    はい。PreparedStatementを使っているようなので、SQL内に「?」などのパラメータを定義していないでしょうか。

    キャンセル

  • 2015/06/10 15:19

    こういった形で書いているのですが、間違っているでしょうか。

    protected String getSql() {
    StringBuilder strBuilder = new StringBuilder();
    strBuilder.append("insert into customer ");
    strBuilder.append("(");
    strBuilder.append(" CustomerID,");
    strBuilder.append(" CustomerNameKanji, ");
    strBuilder.append(" CustomerNameKana, ");
    strBuilder.append(" Gender, ");
    strBuilder.append(" Height, ");
    strBuilder.append(" Weight, ");
    strBuilder.append(" Birthday, ");
    strBuilder.append(" ZipCode, ");
    strBuilder.append(" Address, ");
    strBuilder.append(" Phone, ");
    strBuilder.append(" DeleteFlag,");
    strBuilder.append(" RegistTime ");
    strBuilder.append(") values ( ");
    strBuilder.append(" ?, ");
    strBuilder.append(" ?, ");
    strBuilder.append(" ?, ");
    strBuilder.append(" ?, ");
    strBuilder.append(" ?, ");
    strBuilder.append(" ?, ");
    strBuilder.append(" ?, ");
    strBuilder.append(" ?, ");
    strBuilder.append(" ?, ");
    strBuilder.append(" ?, ");
    strBuilder.append(" 0, ");
    strBuilder.append(" NOW() ");
    strBuilder.append(");");
    System.out.println("sql:" + strBuilder.toString());
    return strBuilder.toString();
    }

    キャンセル

  • 2015/06/10 15:56

    見た限りパラメータは10個しかないですね。
    executeUpdate()の直前で、PreparedStatementインスタンスに対して、getParameterMetaData().getParameterCount()を実行することは可能でしょうか。
    または、試しにパラメータを使わず、固定値を設定して実行することはできないでしょうか。

    キャンセル

  • 2015/06/10 16:19

    回答ありがとうございます。
    ためしに上記のINSERTでデータの登録をしてみましたが、問題なく出来ましたが
    UPDATEが出来ないため、ここが問題のような気がします。

    キャンセル

  • 2015/06/10 16:24

    エラーが発生するのは上記INSERT文ではなく、別のUPDATE文ということでしょうか。
    もしそうであれば、そのUPDATE文の方を記載いただけないでしょうか。

    キャンセル

  • 2015/06/10 16:51

    回答ありがとうございます。
    UPDATE文を書き換えましたらエラーが出なくなりました。

    ありがとうございます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • SQL

    2468questions

    SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。