2015-05-26 3 views
0

Может кто-нибудь помочь мне решить эту ошибку. Я получаю ошибку, когда передаю дату String ex:"01-JAN-2015" в качестве параметра в setString?java.sql.SQLException: [Microsoft] [ODBC Microsoft Access Driver] Синтаксическая ошибка даты в выражении запроса

javax.servlet.ServletException: java.sql.SQLException: [Microsoft] [ODBC Microsoft Access Driver] Синтаксическая ошибка в дате в выражении запроса '(Event_Dairy) между # Pa_RaM000 # и # Pa_RaM001 #'.

String url="jdbc:odbc:kaso"; 
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    Connection conn=DriverManager.getConnection(url);  
    PreparedStatement ppdsmt=conn.prepareStatement("select * from Event_Dairy where(Event_Dairy) between #?# and #?#"); 
    ppdsmt.setString(1,sdate); 
    ppdsmt.setString(2,edate); 
    ResultSet rs=ppdsmt.executeQuery(); 
    if(!rs.next()) 
    { 
     out.println("NO RECORDS FOUND"); 
    } 
    else 
    {%> 
     <table border="2">   
     <tr> 
      <td>Event Date</td> 
      <td>Subject</td> 
      <td>Subject Heading</td> 
     </tr> 
     <% 
     do 
     { 
      eventDate=rs.getString("Event_Dairy"); 
      System.out.println("Event Date"+eventDate); 
      Subject=rs.getString("Subject"); 
      Subject_Heading=rs.getString("Subject_Heading"); 
     %> 
      <tr> 
       <td><%=eventDate%></td> 
       <td><%=Subject%></td> 
       <td><%=Subject_Heading%></td> 
      </tr> 
     <% 
     }while(rs.next()); 
    } 

ответ

1

Использование java.sql.Date (или java.sql.Timestamp) вместо String. См. Using setDate in PreparedStatement

И нет # символов вокруг ? заполнителей в запросе.

+0

Thank you.Расширенный –

Смежные вопросы

 Смежные вопросы