Closed. This question is not reproducible or was caused by typos。它当前不接受答案。












想改善这个问题吗?更新问题,以使溢出。

6年前关闭。



on-topic





我是从不同页面捕获的参数。我得到的i的值为1它应该显示表的第n行。但是它什么也不显示。

int i=Integer.parseInt(req.getParameter("index"));
i=i-1;
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection  con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","SYSTEM","SYSTEM");
String query="select * from employee1  limit 1 offset i";
PreparedStatement pst=con.prepareStatement(query);
ResultSet rs = pst.executeQuery();

     String name = rs.getString(2);
     int salary = rs.getInt(3);
PrintWriter out=res.getWriter();
res.setContentType("text/html");
out.println("<form action='update' method=''>");
    out.println("Name:<input type='text' name='name' value="+name+"/>");
    out.println("Salary:<input type='text' name='salary' value="+salary+ "/>");
    out.println("<input type='submit' name='update' />");
out.println("</form>");

最佳答案

这是错误的:"select * from employee1 limit 1 offset i";

您的i变量不会被替换。

它应该是"select * from employee1 limit 1 offset ?"。并用pst.setInteger(i)代替

关于java - 从数据库中查找第n行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24257339/

10-13 09:12