2014-10-20 75 views
0

我該如何解決這個問題。請幫幫我。
我已經嘗試了很長時間來解決這個錯誤。但我不能。我該如何解決SQL命令沒有正確結束

String mname=request.getParameter("m"); 
String imgurl=request.getParameter("imgurl"); 
String catocagory=request.getParameter("catocagory"); 
String[] s=new String[3]; 

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection con=DriverManager.getConnection("jdbc:odbc:BoxOffice","system","sa"); 
Statement st=con.createStatement(); 

ResultSet rs; 
rs=st.executeQuery("select * from "+catocagory+"where name='"+mname+"'"); 
while(rs.next()) 
    { 
     s[0]=rs.getString("c1"); 
     s[1]=rs.getString("c2"); 
     s[2]=rs.getString("c3"); 
    } 
%> 
+2

如有疑問始終打印出來的查詢和對數據庫運行本身使用JDBC/ODBC ...... – Ben 2014-10-20 12:25:51

+1

停止橋。這是越野車,慢和不可靠。另外它在Java 8中不再可用。使用Oracle的「本機」JDBC驅動程序。如果你改變了這一切,切換到使用'PreparedStatement',因爲你已經開放了SQL注入。最後使用連接池並將這些SQL語句移動到一個servlet中。不要將SQL處理直接放到JSP頁面中。 – 2014-10-20 12:52:38

回答

2

您在串聯SQL缺少空間,試試這個

rs=st.executeQuery("select * from " + catocagory + " where name='" + mname + "'"); 
相關問題