从数据库中找到第n行

use*_*775 2 java sql jdbc

我是从不同页面捕获的参数.我得到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>");
Run Code Online (Sandbox Code Playgroud)

ger*_*tan 6

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

您的i变量未被替换.

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