From 4c1398846c0548c9e38eebdc00f0845570a4cc61 Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Thu, 9 Jun 2022 12:31:27 +0800 Subject: [PATCH] Add queryCourses() --- .../library/database/DatabaseHelper.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/Library/src/main/java/com/cfive/classroom/library/database/DatabaseHelper.java b/Library/src/main/java/com/cfive/classroom/library/database/DatabaseHelper.java index 42cf504..e0956bb 100644 --- a/Library/src/main/java/com/cfive/classroom/library/database/DatabaseHelper.java +++ b/Library/src/main/java/com/cfive/classroom/library/database/DatabaseHelper.java @@ -8,8 +8,12 @@ import com.cfive.classroom.library.database.util.InsertException; import com.cfive.classroom.library.database.util.NoConfigException; import com.sun.istack.internal.Nullable; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; import java.sql.SQLException; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; public class DatabaseHelper { @@ -253,10 +257,21 @@ public class DatabaseHelper { return AttendanceOA.delete(attID); } - public static boolean queryCourses(long tchID) throws NoConfigException, SQLException, DependenciesNotFoundException { + public static List queryCourses(long tchID) throws NoConfigException, SQLException, DependenciesNotFoundException { if (isExistsInTeacher(tchID)) throw new DependenciesNotFoundException(); - // TODO: Query Courses - return false; + ArrayList courses = new ArrayList<>(); + String sql = "SELECT courID FROM course,teacher WHERE course.tchID=teacher.tchID AND course.tchID=?"; + try (Connection connection = PoolHelper.getConnection()) { + try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { + preparedStatement.setLong(1, tchID); + try (ResultSet resultSet = preparedStatement.executeQuery()) { + while (resultSet.next()) { + courses.add(selectFromCourse(resultSet.getLong("courID"))); + } + } + } + } + return courses; } public static void close() {