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

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

新規登録して質問してみよう
ただいま回答率
87.20%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

受付中

JSPでデータを更新したいけど例外エラーがでる。

kunetyure
kunetyure

総合スコア1

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

1回答

0評価

1クリップ

216閲覧

投稿2022/06/06 12:38

前提、 実現したいこと

データベースから指定したクラスの生徒たちの情報を取り出し、そこから生徒を一人選択して情報を変更(クラス番号、氏名(姓)、氏名(名)、カナ(姓)、カナ(名)、生年月日)し、更新したいです。データベースからクラス番号を検索して取り出し、変更したい生徒の情報を編集するところまでは問題なく動くのですが、最後更新したら例外エラーが出てしまいます。原因がわかる方にご教授願いたいです。
例外として処理されているということはデータ自体は送れていると思います。

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

-SQL例外 -メッセージ: SQL構文にエラーがあります。'simei_1 ='è�'木'、simei_2 ='å”å¿—'、kana_1 ='アラã‚'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。 kana_2 ='コウã‚・'、umare ='1'1行目

該当のソースコード

jsp

<%@ page contentType="text/html;charset=UTF-8"%> <% response.setContentType("text/html;charset=UTF-8");%> <HTML> <HEAD><TITLE>class_update.jsp</TITLE></HEAD> <BODY BGCOLOR="#FFFFFF"> class_update.jsp <CENTER> <CAPTION><FONT SIZE="+3" COLOR="#0000FF"> <B><<名簿変更>></B> </FONT>></CAPTION>> <BR> <FORM METHOD= "POST" NAME ="koushin2" ACTION = "/aa22/servlet/class_update3"> <FONT SIZE="+1"COLOR="#0000FF">名簿情報を変更してください。</FONT> <P> <HR SIZE="5" WIDTH="80%"> <CENTER> <TABLE BORDER=O> <TR> <TD>クラス</TD> <TD><SELECT NAME="class_no" SIZE="1"> <option value ="aaa111">aaa111 <option value ="aaa112">aaa112 <option value ="aaa113">aaa113 <option value="aaa114">aaa114 <option value="aaa115">aaa115 <option value="aaa116">aaa116 <option value="aaa117">aaa117 <option value="aaa118">aaa118 <option value="aaa119">aaa119 <option value="aaa120">aaa120 <option value="aaa121">aaa121 <option value="aaa122">aaa122 <option value="aaa123">aaa123 <option value="aaa124">aaa124 <option value="aaa125">aaa125 <option value="aaa126">aaa126 <option value="aaa127">aaa127 <option value="aaa128">aaa128 <option value="aaa129">aaa129 </select> <SCRIPT Language="JavaScript"> <!-- document.koushin2.class_no.selectedIndex = <%= request.getAttribute("class_no").toString() %>; // --> </SCRIPT> </TD> </TR> <TR> <TD>出席</TD> <TD> <INPUT TYPE="TEXT" NAME= "syusseki_no" SIZE = 20 VALUE = "<%= request.getAttribute("syusseki_no").toString()%>"> </TD> </TR> <TR> <TD>学籍番号</TD> <TD><%= request.getAttribute("gakuseki_no").toString()%></TD> <TR> <TR> <TD>氏名(姓)</TD> <TD> <INPUT TYPE="TEXT" NAME= "simei_1" SIZE = 20 VALUE = "<%= request.getAttribute("simei_1").toString()%>"> </TD> </TR> <TR> <TD>氏名(名)</TD> <TD> <INPUT TYPE="TEXT" NAME= "simei_2" SIZE = 20 VALUE = "<%= request.getAttribute("simei_2").toString()%>"> </TD> </TR> <TR> <TD>カナ(姓)</TD> <TD> <INPUT TYPE="TEXT" NAME= "kana_1" SIZE = 20 VALUE = "<%= request.getAttribute("kana_1").toString()%>"> </TD> </TR> <TR> <TD>カナ(名)</TD> <TD> <INPUT TYPE="TEXT" NAME= "kana_2" SIZE = 20 VALUE = "<%= request.getAttribute("kana_2").toString()%>"> </TD> </TR> <TR> <TD>生年月日</TD> <TD> <INPUT TYPE="TEXT" NAME= "umare" SIZE = 20 VALUE = "<%= request.getAttribute("umare").toString()%>"> </TD> </TR> </TABLE> <P> <HR SIZE="5" WIDTH="80%"> <BR><CENTER> <INPUT TYPE= "SUBMIT" VALUE="名簿更新"> <INPUT TYPE="RESET" VALUE="入力クリア"><BR><BR> </FORM> <HR> <A HREF="/aa11/update.html">名簿選択へ戻る</A> <A HREF="/aa11/class_index.html">メニューへ戻る</A> <BR> </CENTER> </BODY> </HTML>

java

import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns= {"/servlet/class_update3"}) public class class_update3 extends HttpServlet{ public void doPost( HttpServletRequest req, HttpServletResponse res) throws ServletException,IOException{ /** * DB:URL */ final String URL = "jdbc:mysql://localhost/nhs10601db?useUnicode=true&characterEncoding=UTF-8"; /** *DB:ユーザ */ final String USER = "root"; /** *DB:パスワード */ final String PASSWORD= "root"; /** *DB:ドライバ */ final String DRIVER = "com.mysql.jdbc.Driver"; Connection con = null; Statement stmt = null; PrintWriter out; req.setCharacterEncoding("UTF-8"); res.setContentType("text/html;charset=UTF-8"); out = res.getWriter(); //webブラウザのFormからパラメータを取得 String koushin2Str = req.getParameter("koushin2"); String class_noStr = req.getParameter("class_no"); String gakuseki_noStr = req.getParameter("gakuseki_no"); String syusseki_noStr = req.getParameter("syusseki_no"); String simei_1Str = req.getParameter("simei_1"); String simei_2Str = req.getParameter("simei_2"); String kana_1Str = req.getParameter("kana_1"); String kana_2Str = req.getParameter("kana_2"); String umareStr = req.getParameter("umare"); try{ //MySQL Driver ローディング Class.forName(DRIVER); //MySQLへの接続 con = DriverManager.getConnection(URL,USER,PASSWORD); //SQL格納 stmt = con.createStatement(); //SQL実行名簿テーブル更新 StringBuffer query = new StringBuffer(); query.append("UPDATE class_table SET class_no ='"); query.append(class_noStr); query.append("',syusseki_no='"); query.append(syusseki_noStr); query.append("'WHERE gakuseki_no='"); query.append(gakuseki_noStr); query.append("',simei_1='"); query.append(simei_1Str); query.append("',simei_2='"); query.append(simei_2Str); query.append("',kana_1='"); query.append(kana_1Str); query.append("',kana_2='"); query.append(kana_2Str); query.append("',umare='"); query.append(umareStr); query.append("')"); stmt.executeUpdate(query.toString()); //S更新結果 表示 StringBuffer sb = new StringBuffer(); sb.append("<html>"); sb.append("<head><title>名簿変更</title></head>"); sb.append("<body bgcolor='#ffffff'>"); sb.append("class_update3.java"); sb.append("<center>"); sb.append("<CAPTION><FONT SIZE='+3' COLOR='#0000FF'>"); sb.append("<B>"); query.append("'"); sb.append("<<名簿変更>>"); sb.append("</B></FONT></CAPTION>"); sb.append("<h1>"); sb.append("<BR><BR><BR>"); sb.append("<h1>"); sb.append("名簿変更完了しました。"); sb.append("</h1>"); sb.append("</center><br><br>"); sb.append("<HR><A HREF='/aa11/class_update1.html'>"); sb.append("名簿更新に戻る"); sb.append("</A>"); sb.append("<A HREF='/aa11/class_index.html'>"); sb.append("ホームへ戻る"); sb.append("</A>"); sb.append("</body>"); sb.append("</html>"); out.println(sb.toString()); //切断 stmt.close(); con.close(); } //例外処理 catch(SQLException ex){ out.println("-SQL Exception-" + "<BR>" ); out.println( "Message : " + "<BR>" ); while(ex != null){ out.println(ex.getMessage()+ "<BR>"); ex = ex.getNextException(); } } catch(Exception ex){ ex.printStackTrace(out); } } }

試したこと

このエラーが出る前にほかのエラーが出てたので、org.git.mm.mysql.Driverを
final String DRIVER = "com.mysql.jdbc.Driver";になおしたら今回のエラーが出てきました。(前のエラーは解決。)
sqlのバージョンは14.12です。

Eclipseはヘルプで調べたところVersion: Photon Release (4.8.0)でした。

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

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

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。