2011-11-14 88 views
0

我是新的jsp和我使用此代碼插入msaccess表中的數據 我有問題,當我提交所有必填字段後單擊提交按鈕頁面應該重定向到quiz.jsp。但它沒有發生,並注意到插入到分貝。插入不工作在與msaccess的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(); 
    } 
    } 
    %> 

請幫我看看這個..這個代碼在哪裏出錯了。

+0

您是否嘗試在SQL字符串中用雙引號替換單引號? –

+0

你確定你的代碼進入If語句(「submit」)!= null)嗎? –

+0

@Massimiliano Peluso:我認爲是 – biplob

回答

0

在jsp中,腳本實際上是不好的練習,你應該避免使用它。您提到的工作流程完全可以在沒有腳本的情況下完成。相反,將數據從servlet插入數據庫。

這樣做,如果您遇到任何問題,請在此處詢問。見How to avoid Java Code in JSP-Files?.

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); 
} 

要獲得詳細的錯誤報告完成的根本原因外,其信息和完整的堆棧跟蹤。它包含答案。

1

您已經保留了一個額外的右大括號。我認爲它會起作用,如果你刪除它。