插入不在jsp中使用ms访问

时间:2011-11-14 10:53:26

标签: jsp ms-access

我是jsp的新手,我使用此代码将数据插入msaccess表 我遇到问题,当我在提交所有必填字段后点击提交按钮时,页面应该重定向到quiz.jsp。但它没有发生,也注意到插入数据库。

<%@page language="java" import="java.sql.*" %>

<%
   if(request.getParameter("submit")!=null)
 {
Connection conn=null;
Statement stmt=null;
try
{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    conn=DriverManager.getConnection("jdbc:odbc:biplob");
try{
Statement st = con.createStatement();
String quest = request.getParameter("quest").toString();
String QA = request.getParameter("QA").toString();
String QB = request.getParameter("QB").toString();
String QC = request.getParameter("QC").toString();
String QD = request.getParameter("QD").toString();
String correctAns = request.getParameter("correctAns").toString();
       out.println("quest : " + quest);

   String qry = "insert into quiz(quest,QA,QB,QC,QD,correctAns)values('"+quest+"','"+QA+"','"+QB+"','"+QC+"','"+QD+"','"+correctAns+"')";

     out.println("qry : " + qry);

int val = st.executeUpdate(qry);

    if(val>0)
    {
      response.sendRedirect("quiz.jsp");
    }
con.close();
   }

   catch(SQLException ex){
System.out.println("SQL satatment not found");
   }
   }
   catch(Exception e){
e.printStackTrace();
   }
   }
   %>

请帮助我。这个代码在哪里出错。

3 个答案:

答案 0 :(得分:1)

你保留了一个额外的右大括号。我认为如果你删除它会有效。

答案 1 :(得分:0)

在jsp中,Scriplets是非常糟糕的做法,你应该避免使用它。您提到的工作流程可以完全不用scriplet完成。而是从servlet将数据插入数据库。

以这种方式做,如果您遇到任何问题,请在此处询问。见How to avoid Java Code in JSP-Files?.

答案 2 :(得分:0)

替换

    } catch(SQLException ex) {
        System.out.println("SQL satatment not found");
    }
} catch(Exception e) {
    e.printStackTrace();
}

通过

    } catch(SQLException ex) {
        throw new ServletException(ex);
    }
} catch(Exception e) {
    throw new ServletException(e);
}

获取详细的错误报告,包括根本原因异常,消息和完整堆栈跟踪。它包含答案。