id      name
1       a
2       b
以上是数据库ssc中的表student(mysql)
以下是代码/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */import java.io.IOException;
import java.lang.String;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
@WebServlet(urlPatterns = {"/SSCServer"})
public class SSCServer extends HttpServlet {   
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        Configuration cfg = new Configuration().configure();
        SessionFactory sf = cfg.buildSessionFactory();
        Session session = sf.openSession();
        Transaction ts = session.beginTransaction();
        String href = "/SSC2/Complete.jsp";
        Connection conn;
        Statement stmt;
        ResultSet rst;
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            String url = "jdbc:mysql://localhost:3306/ssc";
            String user = "root";
            String passWord = "111111";
            conn = DriverManager.getConnection(url, user, passWord);
            // List list = session.createQuery("select name from student where id=2").list();
            stmt = conn.createStatement();
            rst = stmt.executeQuery("select name from student where id=2");
            String name1 = rst.getString(1);//***************
            response.sendRedirect(href);
        } catch (Exception e) {
            e.getMessage();
        }
                ts.commit();
        session.close();
        sf.close();    }}********处(String name1=rst.getString(1))执行不了 求解释 先谢谢各位了!数据库MySQL

解决方案 »

  1.   

        while(rst.next())
        {
         String name1 = rst.getString(1);
        }
      

  2.   

    初始时游标指向的是第一条记录之前的,每执行一次rs.next()游标都会向后移动一位,才能取到下一条记录
      

  3.   


    关键不是while循环,而是rst.next();
    rst.next();
    String name1 = rst.getString(1);
    也可以的。
      

  4.   

       while(rst.next())
        {
            String name1 = rst.getString(1);
        }