Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.97 KB | None | 0 0
  1. package JDBC;
  2.  
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. import java.io.PrintWriter;
  6. import java.sql.*;
  7.  
  8. public class JDBC_Students {
  9. public static void main(String[] args) throws Exception {
  10. try {
  11. Class.forName("com.mysql.jdbc.Driver");
  12. } catch (Exception E) {
  13. System.err.println("Unable to load driver.");
  14. E.printStackTrace();
  15. }
  16. try {
  17. Connection conn1;
  18. String dbUrl = "jdbc:mysql://csdb.cs.iastate.edu:3306/db363bbanothu";
  19. String user = "dbu363bbanothu";
  20. String password = "KmfE9217";
  21. conn1 = DriverManager.getConnection(dbUrl, user, password);
  22. System.out.println("*** Connected to the database ***");
  23.  
  24. // Functions to do
  25. update_student_values(conn1);
  26. top_five_seniors(conn1);
  27.  
  28. } catch (SQLException se) {
  29. se.printStackTrace();
  30. } catch (Exception e) {
  31. e.printStackTrace();
  32. }
  33. }
  34.  
  35. private static void top_five_seniors(Connection conn1) throws SQLException, IOException {
  36. Statement statement = conn1.createStatement();
  37.  
  38. String sql = "select (select name from Person where id= StudentID) as StudentName, Classification, GPA, (select name from Person where ID = MentorID) as MentorName from Student where Classification = 'Senior' order by GPA desc";
  39. ResultSet outerResultSet = statement.executeQuery(sql);
  40.  
  41. String filename = "JDBC_StudentsOutput.txt";
  42. FileWriter fileWriter = new FileWriter(filename);
  43. PrintWriter printWriter = new PrintWriter(fileWriter);
  44.  
  45. int i = 0;
  46. float temp = 0;
  47. while (outerResultSet.next()) {
  48. if (outerResultSet.getFloat("GPA") == temp || i < 5) {
  49. String student_name = outerResultSet.getString("StudentName");
  50. String classification = outerResultSet.getString("Classification");
  51. float gpa = outerResultSet.getFloat("GPA");
  52. String mentor = outerResultSet.getString("MentorName");
  53.  
  54. String student_data = student_name + ", " + classification + ", " + gpa + ", " + mentor;
  55. System.out.println(student_data);
  56. printWriter.print(student_data + "\n");
  57. i++;
  58.  
  59. if (i == 5) {
  60. temp = gpa;
  61. }
  62.  
  63. } else {
  64. break;
  65. }
  66. }
  67. printWriter.close();
  68. }
  69.  
  70. private static void update_student_values(Connection conn1) throws SQLException {
  71. Statement statement = conn1.createStatement();
  72. Statement statement_1 = conn1.createStatement();
  73. Statement statement_2 = conn1.createStatement();
  74.  
  75. String sql = "SELECT StudentID, Classification, GPA, CreditHours FROM Student";
  76. ResultSet outerResultSet = statement.executeQuery(sql);
  77.  
  78. while (outerResultSet.next()) {
  79. int studentId = outerResultSet.getInt("StudentID");
  80. String classification = outerResultSet.getString("Classification");
  81. float gpa = outerResultSet.getFloat("GPA");
  82. int credits = outerResultSet.getInt("CreditHours");
  83.  
  84. System.out.println("\nBefore update: " + "Student Id: " + studentId + ", GPA: " + gpa + ", Classification: "
  85. + classification + ", CreditHour: " + credits);
  86.  
  87. sql = "SELECT StudentID, Grade FROM Enrollment where StudentID=" + studentId;
  88. ResultSet innerResultSet = statement_1.executeQuery(sql);
  89. int total_credit_hours = credits;
  90. float total_gpa = gpa * credits;
  91. while (innerResultSet.next()) {
  92. String grade = innerResultSet.getString("Grade");
  93. total_credit_hours += 3;
  94. total_gpa += grade_to_number(grade) * 3;
  95. }
  96. innerResultSet.close();
  97.  
  98. double gpaToBeUpdated = Math.round((total_gpa / total_credit_hours) * 100) / 100.0;
  99. System.out.println(
  100. "After update: " + "Student Id: " + studentId + ", GPA: " + gpaToBeUpdated + ", Classification: "
  101. + get_new_classification(total_credit_hours) + ", CreditHour: " + total_credit_hours);
  102.  
  103. sql = "UPDATE Student " + "SET Classification = '" + get_new_classification(total_credit_hours)
  104. + "', GPA = " + gpaToBeUpdated + ", CreditHours = " + total_credit_hours + " WHERE StudentID="
  105. + studentId;
  106. statement_2.executeUpdate(sql);
  107. }
  108. System.out.println();
  109. outerResultSet.close();
  110.  
  111. }
  112.  
  113. public static float grade_to_number(String grade) {
  114. if (grade.equalsIgnoreCase("A")) {
  115. return (float) 4.0;
  116. } else if (grade.equalsIgnoreCase("A-")) {
  117. return (float) 3.66;
  118. } else if (grade.equalsIgnoreCase("B+")) {
  119. return (float) 3.33;
  120. } else if (grade.equalsIgnoreCase("B")) {
  121. return (float) 3.00;
  122. } else if (grade.equalsIgnoreCase("B-")) {
  123. return (float) 2.66;
  124. } else if (grade.equalsIgnoreCase("C+")) {
  125. return (float) 2.33;
  126. } else if (grade.equalsIgnoreCase("C")) {
  127. return (float) 2.00;
  128. } else if (grade.equalsIgnoreCase("C-")) {
  129. return (float) 1.66;
  130. } else if (grade.equalsIgnoreCase("D+")) {
  131. return (float) 1.33;
  132. } else if (grade.equalsIgnoreCase("D")) {
  133. return (float) 1.00;
  134. } else {
  135. return 0;
  136. }
  137. }
  138.  
  139. public static String get_new_classification(int credits) {
  140. if (credits < 30) {
  141. return "Freshman";
  142. } else if (credits < 60) {
  143. return "Sophomore";
  144. } else if (credits < 90) {
  145. return "Junior";
  146. } else {
  147. return "Senior";
  148. }
  149. }
  150.  
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement