2011-11-14 8 views
0

저는 jsp에서 새로 왔고이 코드를 사용하여 msaccess 테이블에 데이터를 삽입했습니다. 페이지가 필요한 모든 필드를 제출 한 후 제출 버튼을 클릭하면 해당 페이지가 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에서 실제로 나쁜 습관입니다. 사용하지 않는 것이 좋습니다. 언급 한 워크 플로우는 scriplet없이 완전히 완료 될 수 있습니다. 대신 서블릿에서 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

하나의 추가 닫기 괄호를 보관했습니다. 나는 당신이 그것을 제거하면 그것이 효과가 있다고 생각합니다.

관련 문제