java - J'ai rencontré un problème avec l'ensemble de résultats ResultSet, veuillez regarder le code?
ringa_lee
ringa_lee 2017-05-17 10:07:26
0
1
861

Le code de la section problématique est le suivant :

public ArrayList<menuentity> getMenuList(Connection con){

        ArrayList<menuentity> list=null;
        try {
            String sql="select * from menu where misEnable=1";
            Statement stmt=con.createStatement();
            ResultSet rs=stmt.executeQuery(sql);
            System.out.println("rs:"+rs);
            menuentity m=null;
            list=new  ArrayList<menuentity>();
            System.out.println("new  ArrayList<menuentity>();");
            while(rs.next()){
                System.out.println("rs.next()");
                m=new menuentity();
                m.setMid(rs.getString(1));
                m.setMname(rs.getString(2));
                m.setMurl(rs.getString(3));
                m.setMimg(rs.getString(4));
                m.setMparnetid(rs.getString(5));
                m.setMcreatedate(rs.getDate(6));
                m.setMisEnable(rs.getInt(7));
                m.setMcreater(rs.getString(8));
                m.setMisLeaf(rs.getInt(9));
                System.out.println("1:"+rs.getString(1));
                list.add(m);        
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("1daolist:"+list);
        return list;
    }

Description du phénomène : Cette méthode peut être exécutée vers System.out.println("new ArrayList<menuentity>();");, mais elle n'est pas exécutée dans la boucle while car System.out.println("rs.next( ) "); Il n'y a aucune sortie dans la console, mais l'instruction SQL peut trouver les données dans la base de données, et il n'y a aucun problème avec la connexion transmise par la méthode, car une autre page utilise une connexion avec cette méthode, et une autre la page peut renvoyer des données de l'arrière-plan
Ceci est débogué en contactant Tomcat dans Eclipse

.

Question : Pourquoi n'y a-t-il pas d'exécution dans ce temps ? Quelle peut en être la raison ? Merci! ! !

ringa_lee
ringa_lee

ringa_lee

répondre à tous(1)
我想大声告诉你
Statement stmt=con.createStatement();
 ResultSet rs=stmt.executeQuery(sql);

Ceci n'est-il pas mal écrit

Essayez d'écrire ceci

Statement stmt=con.createStatement(sql);
 ResultSet rs=stmt.executeQuery();
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal