INSERT jsp를 사용하는 ms 액세스 데이터베이스의 일부 데이터이지만 SQLException이 표시됩니다. 쿼리에 하위 쿼리가 있습니다. 액세스에서 쿼리를 실행하려고했는데 쿼리가 제대로 실행됩니다. jsp가 예외를 던지는 이유를 잘 모르겠습니다. 나는 지금도 3 시간 동안 계속해서 쿼리를 반복적으로 점검했지만 아직 사용하지는 않습니다. 누구든지 도울 수 있습니까 ??jsp를 사용하여 ms 액세스 데이터베이스에 쓰는 방법
는* 은 java.sql.SQLException : [Microsoft] [ODBC Access 드라이버]는 구문 오류 쿼리 식 (누락 연산자) '(사용자의 ID를 선택한 다음
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
//Creating new statement
Connection conn = DriverManager.getConnection("jdbc:odbc:accdbJava");
String uName = ((UserInfo) session.getAttribute("userInfo")).getUserName().trim();
//Creating statement
PreparedStatement stmt = conn.prepareStatement("INSERT INTO Message (User_ID, Heading, Body, DatePosted) VALUES ('(SELECT ID FROM User WHERE UserName = '" + uName + "')', '" + messageItem1.getSubject() + "', '" + messageItem1.getMessage() + "', '" + messageItem1.getDatePosted() + "');");
//Executing the update
stmt.executeUpdate();
//Closing connection, statement
stmt.close();
conn.close();
}
catch(Exception e) {
e.printStackTrace();
}
예외는 WHERE UserName = 'hrai') ''. sun.jdbc.odbc.JdbcOdbc.SQLPrepare에서 sun.jdbc.odbc.JdbcOdbc.standardError (알 소스)에 sun.jdbc.odbc.JdbcOdbc.createSQLException (알 소스) (알 소스)에 sun.jdbc에서 PostMessage.doPost (PostMessage.java:55)에서 PostMessage.addMessageToDatabase (PostMessage.java:118) 에서 sun.jdbc.odbc.JdbcOdbcConnection.prepareStatement (알 소스)에 .odbc.JdbcOdbcConnection.prepareStatement (알 소스) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain)의 javax.servlet.http.HttpServlet.service (HttpServlet.java:637) (javax.servlet.http.HttpServlet.service (HttpServlet.java:717) ) .java : 290) org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve .invoke (StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102) (StandardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor .process (Http11Processor.java:857) at org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandl (알 수없는 출처)에서 * (일)
서블릿 코드입니다. 그리고 그것은 작동하지 않았다 –
코드 구현은 다음과 같은 오류를 준다 : java.sql.SQLException : [Microsoft] [ODBC Microsoft Access Driver] 쿼리 입력은 적어도 하나의 테이블이나 쿼리를 포함해야한다. –
@ nick-s 내 편집을 참조하십시오. 시간을내어 액세스를 열고이를 테스트했습니다. – Sean