2011-11-14 15 views
0

私はjspで新しく、このコードを使用してmsaccessテーブルにデータを挿入しました 必要なフィールドをすべてファイリングしてからsubmitボタンをクリックすると、ページがquiz.jspにリダイレクトされる問題が発生しました。 DBにも挿入されているわけではありません。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(); 
    } 
    } 
    %> 

pls私はこれを助けます。このコードではどこが間違っていますか。

+0

SQL文字列の一重引用符を二重引用符で置き換えようとしましたか? –

+0

あなたのコードがIf文( "submit")に入ることを確かめてください!= null)? –

+0

@Massimiliano Peluso:そうだね – biplob

答えて

0

scripletsはjspで本当に悪い練習です、あなたはそれを使用しないでください。あなたが言及したワークフローは、すばらしさなくても完全に行うことができます。代わりにサーブレットからdbにデータを挿入してください。

そういうやり方で、何か問題に直面したら、ここでそれを聞いてください。 How to avoid Java Code in JSP-Files?.

0

は、根本原因の例外、そのメッセージとフルスタックトレースとの完全な詳細なエラーレポートを取得するには

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

によって

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

を交換してください。それは答えを含んでいます。

1

あなたは追加の閉じ括弧を1つ保持しました。あなたがそれを取り除くとうまくいくと思います。

関連する問題