2016-12-01 70 views
1
String registeritQuery= "INSERT INTO explorer.usr_itinerary(itinerary_desc, latd, longd, owner_id, creation_date, visited_date,it_grp_name" + "VALUES (?,?,?,?,?,?,?)"; 

    PreparedStatement pst = conn.prepareStatement(registeritQuery); 

    pst.setString(1,it_Desc); 
    pst.setBigDecimal(2,new BigDecimal(latd)); 
    pst.setBigDecimal(3,new BigDecimal(longd)); 
    pst.setInt(4,userid); 
    pst.setDate(5, new java.sql.Date(System.currentTimeMillis())); 
    pst.setDate(6,java.sql.Date.valueOf(visitdate)); 
    pst.setString(7,Integer.toString(n)); 
    cnt = pst.executeUpdate(); 

表列:不能插入到MySQL

id(auto_increment)- int 
    itinerary_desc - varchar 
    latd - decimal - (9,6) 
    longd- decimal - (9,6) 
    creation_date - date 
    visited_date - date 
    it_grp_name - varchar 

我得到的所有值preparedStatement時前,但它並沒有插入記錄。

錯誤:

java.lang.NullPointerException 
    at explorer.MySQLDataStoreUtilities.insertItinerary(MySQLDataStoreUtilities.java:182) 
    at org.apache.jsp.insertItinerary_jsp._jspService(insertItinerary_jsp.java:122) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
+0

您是否收到任何錯誤? –

+0

是autocommit是否爲false?添加具有連接詳細信息的代碼 – developer

+0

不,我沒有收到任何錯誤。我能夠使用mysql工作臺手動添加我提供給preparedStatement的相同數據的記錄。 – trin

回答

2

您的查詢應該是這樣的:

String registeritQuery= "INSERT INTO explorer.usr_itinerary(itinerary_desc, latd, longd, owner_id, creation_date, visited_date,it_grp_name) VALUES (?,?,?,?,?,?,?)"; 

你錯過了) and space 您的查詢是這樣it_grp_name"+"VALUES這意味着it_grp_nameVALUES

所以你應該更換它到這it_grp_name)"+" VALUES這意味着it_grp_name) VALUES

+0

String registeritQuery =「INSERT INTO explorer.usr_itinera ry(itinerary_desc,latd,longd,owner_id,creation_date,visited_date,it_grp_name)「+」VALUES(?,?,?,?,?,?,?)「; 它不工作。我更新了這樣的陳述。 – trin

+0

你有沒有得到任何錯誤@特林? –

+0

編號代碼運行,但沒有任何錯誤。 owner_id是另一個表的外鍵,這是否重要?我不確定。 – trin