※ ChatGPTを利用し、要約された質問です(原文:jspのプログラムについて)
JSPでデータベースの中身をCSVファイルに出力する方法
このQ&Aのポイント
JSPファイル内でデータベースのテーブルの中身をCSVファイルに出力する方法を教えてください。
削除するプログラムはできたが、出力するプログラムがうまくいかない。
エラーメッセージは「org.apache.jasper.JasperException: An exception occurred processing JSP page /CSV.jsp at line 24」。
jspファイルで
データベースの中のテーブルの中身をCSVファイルに出力するプログラムを教えてください。
delete文で中身を消すプログラムは書けたのですが、これはできません。
conn = null;
st=null;
conn=DriverManager.getConnection("jdbc:mysql://localhost/データベース名?" +
"user=ユーザー名&password=パスワード&useUnicode=true&characterEncoding=utf8");
st=conn.createStatement();
StringBuffer buf = new StringBuffer();
buf.append("delete from where id="+id);
st.executeUpdate(buf.toString());
これで削除はできました。
なのでbuf.appendの中身を
buf.appendbuf.append("select * from テーブル名 INTO OUTFILE \"data.csv\" fields terminated by ',' ");
これに書き換えればできると思ったのですができません。
よろしくお願いします。
エラー内容は
org.apache.jasper.JasperException: An exception occurred processing JSP page /CSV.jsp at line 24
21:
22: StringBuffer buf = new StringBuffer();
23: buf.append("select * from anpisystem INTO OUTFILE \"data.csv\" fields terminated by ',' ");
24: st.executeUpdate(buf.toString());
25:
26: }
27:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
原因
javax.servlet.ServletException: java.sql.SQLException: Can not issue SELECT via executeUpdate().
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.CSV_jsp._jspService(CSV_jsp.java:94)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
原因
java.sql.SQLException: Can not issue SELECT via executeUpdate().
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1803)
com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1764)
org.apache.jsp.CSV_jsp._jspService(CSV_jsp.java:76)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)