• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jspのプログラムについて)

JSPでデータベースのテーブルをCSVファイルに出力する方法

このQ&Aのポイント
  • JSPを使用してデータベースのテーブルの内容をCSVファイルに出力するプログラムを教えてください。
  • delete文でデータを削除するプログラムは書けたが、データをCSVファイルに出力する方法が分からない。
  • データベースのテーブルの内容をCSVファイルに出力するためには、SELECT文を使用してテーブルのデータを取得し、その結果をCSVファイルに書き込む必要がある。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.3

こんにちは。 buf.append("SELECT * from テーブル名 INTO OUTFILE \"c:/data\""); こうではないですか? "文字列"の中で「"」を使うのであればエスケープが必要です。

reimaru9
質問者

補足

次はこのようなエラーが出たのですが... 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 * anpisystem INTO OUTFILE \"data.csv\" fields terminated by ',' "); 24: st.executeUpdate(buf.toString()); 25: 26: } 27: よろしくお願いします。

その他の回答 (3)

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

> org.apache.jasper.JasperException: An exception occurred processing JSP page /CSV.jsp at line 24 これはJSPでエラーが出ています ってだけ もっと詳しいエラー情報がないと誰も対応できないわよ 最初に私が#1で書いたように stacktraceを書いてね

reimaru9
質問者

補足

そうですね。すいません 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:95) 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:77) 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) よろしくお願いします。

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.2

>buf.append("SELECT from テーブル名 INTO OUTFILE "c:/data" "); →buf.append("SELECT * from テーブル名 INTO OUTFILE "c:/data" "); SELECT の後ろに * が抜けています。

reimaru9
質問者

補足

それ直したのですが、駄目でした。 エラー内容はaskaaska様の補足にあります。

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

何かエラーは出ていないの? それを書いた方がいいわよ 出ていないなら catch節で 例外.printStackTrace(new java.io.PrintWriter(out)); をやってみて もしくは st.executeUpdate を st.executeQuery にしてみたら行けたりする? もしかしたら権限がないだけの可能性もあるけど

reimaru9
質問者

補足

このような感じです。 Syntax error, insert ")" to complete MethodInvocation 20: st=conn.createStatement(); 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: } JSPファイル: /CSV.jsp の中の23行目でエラーが発生しました Syntax error, insert ";" to complete Statement 20: st=conn.createStatement(); 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: } JSPファイル: /CSV.jsp の中の23行目でエラーが発生しました data cannot be resolved 20: st=conn.createStatement(); 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: } JSPファイル: /CSV.jsp の中の23行目でエラーが発生しました Syntax error on token "csv", ( expected after this token 20: st=conn.createStatement(); 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: }

関連するQ&A

専門家に質問してみよう