Как я могу отобразить результат функции, используя запрос подсчета на моей странице JSP? - PullRequest
0 голосов
/ 03 июня 2018

Таблица с именем teacher содержит функции name, contact и email CountTeacher:

public ResultSet countTeacher() throws SQLException{
  try {
      con=Dbconnection.getCon();
      stmt=con.prepareStatement("select COUNT(*) from teacher");
      rs=stmt.executeQuery();
  }catch(Exception e) {
      e.getMessage();
      con.close();
  }
  return rs;
}

как мне вызвать эту функцию и отобразить ее на странице jsp с помощью скриптов Iимпортировал файл java с этой функцией на страницу, на которой я хочу отобразить результат, и дал ему идентификатор.Как я могу назвать это сейчас

1 Ответ

0 голосов
/ 04 июня 2018

Вы вернули ResultSet ссылку rs после закрытия соединения.

ResultSet использует курсор для указания строк, возвращаемых запросом базы данных.Если вы закроете соединение до фактического использования результата, ResultSet будет бесполезным, так как соединение закрыто, он тоже убирает курсор.

Это стоит чтение этого поста

В качестве предложения по вашей проблеме, я бы порекомендовал следующий подход ..

Создайте POJO для вашей таблицы ..

class Teacher{
    private String name;
    private String contact;
    private String email;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getContact() {
        return contact;
    }

    public void setContact(String contact) {
        this.contact = contact;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

И, теперь в вашем методе, вы должнывернуть list из teacher, который может быть передан некоторым вызовам других методов, даже когда соединение с базой данных закрыто.

    public List<Teacher> countTeacher() throws SQLException {
        try {
            con = Dbconnection.getCon();
            stmt = con.prepareStatement("select COUNT(*) from teacher");
            rs = stmt.executeQuery();
            Teacher teacher = new Teacher();
            List<Teacher> teachers = new ArrayList<Teacher>();
            while(rs.next()){
                String name = rs.getString("name");
                String contact = rs.getString("contact");
                String email = rs.getString("email");

                teacher.setName(name);
                teacher.setContact(contact);
                teacher.setEmail(email);

                teachers.add(teacher);
            }
            return teachers;

        } catch (Exception e) {
            e.getMessage();
        }
        finally{
            con.close();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...