выберите список из базы данных дает ноль - PullRequest
1 голос
/ 22 мая 2019

Я хочу выбрать список из базы данных, но он получает null

Дао метод:

public static List<Matiere> getAll() throws ClassNotFoundException, SQLException {
            Matiere M = null;
            Connection cnx = Connect.getConnection();
            String req = "select* from matiere";
            PreparedStatement st = cnx.prepareStatement(req);
            ResultSet rs = st.executeQuery();
            rs.next();
            System.out.println("cc " + M);

            return (List<Matiere>) M;

        }

петля JSP

<table border=1 width=80% align=center> 
<tr><th>ID</th><th>Libellé</th></tr>
<% 
List<Matiere>lg=AdminDAO.getAll();
for(Matiere m:lg){ %>
    <tr>
    <td>  <%=m.getId() %>   </td>
    <td><%=m.getLibelle() %> </td>
    </tr>
    <% } %>
 </table>

как решить эту проблему

1 Ответ

0 голосов
/ 22 мая 2019

Проблема в том, что вы не заполняете набор результатов на List. Чтобы получить результаты из List, сначала необходимо заполнить их.

Например, пожалуйста, проверьте код ниже,

public static List<Matiere> getAll()
{
    List<Matiere> matiere = new ArrayList<>();

    try
    {
        String sql = "SELECT * FROM matiere";
        Connection con = Connect.getConnection();
        PreparedStatement statement = con.prepareStatement(SQL);
        ResultSet rs = statement.executeQuery(SQL);

        while(rs.next()) {
            Matiere m = new Matiere();

            //Here add your database fields
            m.setId(rs.getString("id"));
            m.setLibelle(rs.getString("libelle"));
            matiere.add(m);
        }
    }
    catch(SQLException e) {
        // Log any exceptions ...
    }
    finally() {
        // Always close your JDBC resources
        try {
            if (statement != null) {
                statement.close();
                statement=null;
            }
        }
        catch(SQLException e) {
            // Couldn't close statement
            }
    }
    return matiere;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...