サーブレットでシステムを一つ作成中です。
登録画面で入力した値を受け取ってDBに登録するだけです。
コントローラです。↓
import java.io.;
import javax.servlet.;
import javax.servlet.http.;
import java.util.;
public class Sample extends HttpServlet{
public void doPost (HttpServletRequest req,
HttpServletResponse res)
throws IOException,ServletException{
res.setContentType("text/html; charset=UTF-8");
req.setCharacterEncoding("UTF-8");
int result = 3;
int result2;
int group_cd;
String date_start = req.getParameter("date_start");
String date_end = req.getParameter("date_end");
group_cd = Integer.parseInt(req.getParameter("group_cd"));
Sample_m sm = new Sample_m();
sm.setDate_start(date_start);
sm.setDate_end(date_end);
sm.setGroup_cd(group_cd);
result = sm.DB();
result2 = sm.register_sample();
if(result == 0 && result2 == 6){
getServletContext().getRequestDispatcher("/jspdir/sample.jsp").forward(req,r
es);
}else{
getServletContext().getRequestDispatcher("/jspdir/sample_r.jsp").forward(req
,res);
}
}
}
beanです。↓
import java.io.;
import java.util.;
import java.sql.*;
import java.util.Properties;
public class Sample_m{
private String date_start;
private String date_end;
private int group_cd;
private int result; //DB登録結果格納
Connection con; //DB接続
Statement stmt;
String sql;
public Report_register(){};
public void setDate_start(String date_start) {
this.date_start=date_start;
}
public void setDate_end(String date_end) {
this.date_end=date_end;
}
public void setGroup_cd(int group_cd) {
this.group_cd=group_cd;
}
public String getDate_start() {
return this.date_start;
}
public String getDate_end() {
return this.date_end;
}
public int getGroup_cd() {
return this.group_cd;
}
public int getResult() {
return this.result;
}
public int DB(){
String url = "jdbc:postgresql://localhost:5433/Report_DB";
con = null;
try{
/* JDBCドライバをロードする /
Class.forName("org.postgresql.Driver");
/ データベースに接続する /
con =
DriverManager.getConnection(url,"sample","sample");
con.setAutoCommit(false);
/ Statementオブジェクトを生成する */
stmt = con.createStatement();
} catch (ClassNotFoundException e) {
System.out.println("JDBCドライバが見つかりませんでし
た。");
return 6;
}catch(SQLException e){
return 7;
}catch(Exception e){
return -1;
}
return result;
}
public int register_sample(){
try{
sql = "insert into
sample_mst(date_start,date_end,group_cd) values
('"+getDate_start()+"','"+getDate_end()+"'"+getGroup_cd()+")";
int num = stmt.executeUpdate(sql);
stmt.close();
con.close();
}catch(SQLException e){
return 6;
}catch(Exception e){
return -1;
}
return result;
}
}
今回SQLExceptionが発生してるのは
register_sampleです。
環境の問題でエラーログが吐かれないので、どの変数に何の値が入ってるのかは不明です。
DBへは接続可能です。
テーブルもあります。
例外が発生する原因は何でしょうか…
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/17 08:24
退会済みユーザー
2016/08/17 08:43
2016/08/17 09:57