Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.81 KB | None | 0 0
  1. package controller;
  2.  
  3. import java.sql.*;
  4. import java.util.ArrayList;
  5.  
  6. import model.*;
  7. import DatabaseAccesslayer.*;
  8.  
  9. public class Controller {
  10.  
  11. private Student student;
  12. private Course course;
  13. private DAL dal;
  14.  
  15. public Controller() {
  16. dal = new DAL();
  17. }
  18.  
  19. public Student findStudent(String sPnr) throws SQLException {
  20. student = dal.findStudent(sPnr);
  21. return student;
  22. }
  23.  
  24. public void addStudent(String sPnr, String sName, String sAdress) throws SQLException {
  25. dal.addStudent(sPnr, sName, sAdress);
  26. }
  27.  
  28. public void deleteStudent(String sPnr)throws SQLException{
  29. dal.deleteStudent(sPnr);
  30. }
  31.  
  32.  
  33. public Course findCourse(String cCode) throws SQLException {
  34. course = dal.findCourse(cCode);
  35. return course;
  36. }
  37.  
  38. public void addCourse(String cCode, String cName, int cPoints) throws SQLException {
  39. dal.addCourse(cCode, cName, cPoints);
  40. }
  41.  
  42. public void deleteCourse(String cCode) throws SQLException {
  43. dal.deleteCourse(cCode);
  44. }
  45. public void removeStudentfromStudying(String sPnr, String cCode)throws SQLException {
  46. dal.removeStudentFromStudying(sPnr, cCode);
  47. }
  48.  
  49. public ArrayList<Studied> findGrade(String sPnr, String cCode)throws SQLException{
  50. return dal.findGradeFromCourse(sPnr, cCode);
  51. }
  52.  
  53. public ArrayList<Course> getAllCourse() throws SQLException{
  54. return dal.getAllCourse();
  55. }
  56. public ArrayList<Student> getAllStudent() throws SQLException{
  57. return dal.getAllStudent();
  58. }
  59. public ArrayList<Studying> getStudentsCourses(String sPnr) throws SQLException{
  60. return dal.getStudentsCourses(sPnr);
  61. }
  62.  
  63.  
  64. }
  65.  
  66.  
  67.  
  68. ******************************************************************************************
  69.  
  70. package DatabaseAccesslayer;
  71.  
  72. import java.sql.*;
  73. import java.util.*;
  74. import javax.swing.*;
  75. import javax.swing.table.DefaultTableModel;
  76. import view.DBStartView;
  77.  
  78. import connector.ConnectDb;
  79. import model.*;
  80.  
  81. public class DAL {
  82.  
  83. private String sqlString;
  84. private Student student;
  85. private String sPnr;
  86. private String sName;
  87. private String sAdress;
  88. private Course course;
  89. private String cCode;
  90. private String cName;
  91. private int cPoints;
  92. private JTable table_Student;
  93. private Studied studied;
  94. private Studying studying;
  95.  
  96. // Find a specific student with sPnr********************************
  97. public Student findStudent(String sPnr) throws SQLException {
  98.  
  99. Connection con = ConnectDb.startConnection();
  100.  
  101. sqlString = "select * from student where spnr = '" + sPnr + "'";
  102. Statement stmt = con.createStatement();
  103. ResultSet rs = stmt.executeQuery(sqlString);
  104. rs.next();
  105. sPnr = rs.getString(1);
  106. sName = rs.getString(2);
  107. sAdress = rs.getString(3);
  108.  
  109. student = new Student(sPnr, sName, sAdress);
  110.  
  111. return student;
  112.  
  113. }
  114.  
  115. //Finds list of all students
  116. public ArrayList<Student> getAllStudent()throws SQLException{
  117. ArrayList<Student> studentList = new ArrayList<Student>();
  118.  
  119. Connection con = ConnectDb.startConnection();
  120.  
  121. String sqlString = "Select * from student";
  122. Statement stmt = con.createStatement();
  123. ResultSet rs = stmt.executeQuery(sqlString);
  124.  
  125. while (rs.next()){
  126. student = new Student(rs.getString(1), rs.getString(2), rs.getString(3));
  127. studentList.add(student);}
  128. return studentList;
  129. }
  130.  
  131. // Find a specific course with cCode ****************************
  132. public Course findCourse(String cCode) throws SQLException {
  133.  
  134. Connection con = ConnectDb.startConnection();
  135.  
  136. sqlString = "select * from course where ccode = '" + cCode + "'";
  137. Statement stmt = con.createStatement();
  138. ResultSet rs = stmt.executeQuery(sqlString);
  139. rs.next();
  140. cCode = rs.getString(1);
  141. cName = rs.getString(2);
  142. cPoints = rs.getInt(3);
  143.  
  144. course = new Course(cCode, cName, cPoints);
  145.  
  146. return course;
  147. }
  148. // Find all courses
  149. public ArrayList<Course> getAllCourse()throws SQLException{
  150. ArrayList<Course> courseList = new ArrayList<Course>();
  151.  
  152. Connection con = ConnectDb.startConnection();
  153. sqlString = "select * from course";
  154. Statement stmt = con.createStatement();
  155. ResultSet rs = stmt.executeQuery(sqlString);
  156.  
  157. while (rs.next()) {
  158. course = new Course(rs.getString(1),rs.getString(2),rs.getInt(3));
  159. courseList.add(course);
  160.  
  161. }return courseList;
  162.  
  163. }
  164.  
  165. // Add student
  166. public void addStudent(String sPnr, String sName, String sAdress) throws SQLException {
  167. Connection con = ConnectDb.startConnection();
  168.  
  169. Statement stmt = con.createStatement();
  170.  
  171. String sqlString = "insert into student values('" + sPnr + "','" + sName + "','" + sAdress + "')";
  172. stmt.executeUpdate(sqlString);
  173. stmt.close();
  174. }
  175.  
  176. // Add course
  177. public void addCourse(String cCode, String cName, int cPoints) throws SQLException {
  178. Connection con = ConnectDb.startConnection();
  179.  
  180. Statement stmt = con.createStatement();
  181.  
  182. String sqlString = "insert into course values('" + cCode + "','" + cName + "','" + cPoints + "')";
  183. stmt.executeUpdate(sqlString);
  184. stmt.close();
  185. }
  186. // Delete Student
  187. public void deleteStudent(String sPnr) throws SQLException{
  188.  
  189. Connection con = ConnectDb.startConnection();
  190. Statement stmt = con.createStatement();
  191.  
  192. String sqlString = "delete spnr from student where spnr =" + sPnr;
  193. stmt.executeUpdate(sqlString);
  194. con.close();
  195. }
  196. // Delete Course
  197. public void deleteCourse(String cCode) throws SQLException {
  198. Connection con = ConnectDb.startConnection();
  199.  
  200. Statement stmt = con.createStatement();
  201.  
  202. String sqlString = "delete ccode from course where ccode = " + cCode;
  203. stmt.executeUpdate(sqlString);
  204. con.close();
  205. }
  206. // Delete Student from Studying (möjligen lägga till så student hamnar i studied efter delete)
  207.  
  208. public void removeStudentFromStudying(String sPnr, String cCode)throws SQLException {
  209.  
  210. Connection con = ConnectDb.startConnection();
  211.  
  212. String sqlString = "Delete from Studying where spnr = " + sPnr + "and ccode = " + cCode;
  213.  
  214. Statement stmt = con.createStatement();
  215. stmt.executeUpdate(sqlString);
  216. con.close();
  217. }
  218.  
  219. //Gets all courses a student studies
  220. public ArrayList<Studying> getStudentsCourses(String cCode) throws SQLException {
  221. ArrayList<Studying> studentList = new ArrayList<Studying>();
  222.  
  223. Connection con = ConnectDb.startConnection();
  224.  
  225. String sqlString = " select s.spnr, s.sname, s.sadress, s.semester from studying s "
  226. + " inner join course c "
  227. + " on c.code = s.ccode"
  228. + "where spnr = " + sPnr;
  229.  
  230. Statement stmt = con.createStatement();
  231. ResultSet rs = stmt.executeQuery(sqlString);
  232. while (rs.next()){
  233. studying = new Studying(rs.getString(1), rs.getString(2), rs.getString(3));
  234. courseList.add(studying);
  235. }
  236.  
  237. return courseList;
  238.  
  239.  
  240. }
  241.  
  242. public ArrayList<Studying> getCoursesFromStudent(String sPnr) throws SQLException {
  243. ArrayList<Studying> courseList = new ArrayList<Studying>();
  244.  
  245. Connection con = ConnectDb.startConnection();
  246.  
  247. String sqlString = " select c.ccode, c.cname, s.semester from studying s "
  248. + " inner join course c "
  249. + " on c.code = s.ccode"
  250. + "where spnr = " + sPnr;
  251.  
  252. Statement stmt = con.createStatement();
  253. ResultSet rs = stmt.executeQuery(sqlString);
  254. while (rs.next()){
  255. studying = new Studying(rs.getString(1), rs.getString(2), rs.getString(3));
  256. courseList.add(studying);
  257. }
  258.  
  259. return courseList;
  260.  
  261.  
  262. }
  263.  
  264. // Hittar betyget/resultat för anvigen student på angiven kurs // INTE FÄRDIG
  265. public ArrayList<Studied> findGradeFromCourse(String sPnr, String cCode) throws SQLException {
  266. ArrayList<Studied> studiedList = new ArrayList<Studied>();
  267. Connection con = ConnectDb.startConnection();
  268. sqlString = " spnr, ccode, grade, semester from studied where spnr = '" + sPnr + "' and ccode = '" + cCode+ "'";
  269. Statement stmt = con.createStatement();
  270. ResultSet rs = stmt.executeQuery(sqlString);
  271. while (rs.next()) {
  272. studied = new Studied(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4));
  273. studiedList.add(studied);
  274. }
  275. return studiedList;
  276.  
  277. // public populateStudent() throws SQLException{
  278. //
  279. // try{
  280. // Connection con = ConnectDb.startConnection();
  281. // Statement stmt = con.createStatement();
  282. // String sqlString ="select * from student";
  283. // ResultSet rs = stmt.executeQuery(sqlString);
  284. // ResultSetMetaData rsmd = rs.getMetaData();
  285. // int columns = rsmd.getColumnCount();
  286. // DefaultTableModel dtm = new DefaultTableModel();
  287. //
  288. // Vector columns_name = new Vector();
  289. // Vector data_rows = new Vector();
  290. //
  291. // for(int i = 1; i< columns; i++){
  292. // columns_name.addElement(rsmd.getColumnName(i));
  293. // }
  294. // dtm.setColumnIdentifiers(columns_name);
  295. //
  296. // while( rs.next()){
  297. // data_rows = new Vector();
  298. // for(int j = 1; j < columns;j++){
  299. // data_rows.addElement(rs.getString(j));
  300. //
  301. // }
  302. // dtm.addRow(data_rows);
  303. //
  304. // }table_Student.setModel(dtm);
  305. //
  306. // } catch(SQLException e) {
  307. // e.printStackTrace();
  308. // }
  309. //
  310. //
  311. // }
  312.  
  313.  
  314.  
  315. }
  316.  
  317.  
  318.  
  319. }
  320.  
  321.  
  322. ******************************************************************************************************
  323.  
  324. package model;
  325.  
  326. public class Studying {
  327.  
  328. private String sPnr;
  329. private String cCode;
  330. private String semester;
  331.  
  332. public Studying(String sPnr, String cCode, String semester) {
  333. setsPnr(sPnr);
  334. setcCode(cCode);
  335. setSemester(semester);
  336.  
  337. }
  338.  
  339. public String getsPnr() {
  340. return sPnr;
  341. }
  342.  
  343. public void setsPnr(String sPnr) {
  344. this.sPnr = sPnr;
  345. }
  346.  
  347. public String getcCode() {
  348. return cCode;
  349. }
  350.  
  351. public void setcCode(String cCode) {
  352. this.cCode = cCode;
  353. }
  354.  
  355. public String getSemester() {
  356. return semester;
  357. }
  358.  
  359. public void setSemester(String semester) {
  360. this.semester = semester;
  361. }
  362.  
  363. }
  364.  
  365.  
  366. ******************************************************************************************************
  367.  
  368.  
  369. package model;
  370.  
  371. public class Studied {
  372. private String sPnr;
  373. private String sName;
  374. private String grade;
  375. private String semester;
  376.  
  377. public Studied(String sPnr, String sName, String grade, String semester) {
  378. setsPnr(sPnr);
  379. setsName(sName);
  380. setGrade(grade);
  381. setSemester(semester);
  382.  
  383. }
  384.  
  385. public String getGrade() {
  386. return grade;
  387. }
  388.  
  389. public void setGrade(String grade) {
  390. this.grade = grade;
  391. }
  392.  
  393. public String getsPnr() {
  394. return sPnr;
  395. }
  396.  
  397. public void setsPnr(String sPnr) {
  398. this.sPnr = sPnr;
  399. }
  400.  
  401. public String getsName() {
  402. return sName;
  403. }
  404.  
  405. public void setsName(String sName) {
  406. this.sName = sName;
  407. }
  408.  
  409. public String getSemester() {
  410. return semester;
  411. }
  412.  
  413. public void setSemester(String semester) {
  414. this.semester = semester;
  415. }
  416.  
  417. }
  418.  
  419. ******************************************************************************************************
  420.  
  421.  
  422. package model;
  423.  
  424. public class Course {
  425. private String cCode;
  426. private String cName;
  427. private int cPoints;
  428.  
  429. public Course(String cCode, String cName, int cPoints) {
  430. setcCode(cCode);
  431. setcName(cName);
  432. setcPoints(cPoints);
  433. }
  434.  
  435. public String getcCode() {
  436. return cCode;
  437. }
  438.  
  439. public void setcCode(String cCode) {
  440. this.cCode = cCode;
  441. }
  442.  
  443. public String getcName() {
  444. return cName;
  445. }
  446.  
  447. public void setcName(String cName) {
  448. this.cName = cName;
  449. }
  450.  
  451. public int getcPoints() {
  452. return cPoints;
  453. }
  454.  
  455. public void setcPoints(int cPoints) {
  456. this.cPoints = cPoints;
  457. }
  458.  
  459. }
  460.  
  461.  
  462. ******************************************************************************************************
  463.  
  464. package model;
  465.  
  466. import java.util.ArrayList;
  467.  
  468. public class Student {
  469. private String sPnr;
  470. private String sName;
  471. private String sAdress;
  472.  
  473.  
  474. public Student(String sPnr, String sName, String sAdress) {
  475. setsPnr(sPnr);
  476. setsName(sName);
  477. setsAdress(sAdress);
  478.  
  479. }
  480.  
  481.  
  482. public String getsPnr() {
  483. return sPnr;
  484. }
  485.  
  486. public void setsPnr(String sPnr) {
  487. this.sPnr = sPnr;
  488. }
  489.  
  490. public String getsName() {
  491. return sName;
  492. }
  493.  
  494. public void setsName(String sName) {
  495. this.sName = sName;
  496. }
  497.  
  498. public String getsAdress() {
  499. return sAdress;
  500. }
  501.  
  502. public void setsAdress(String address) {
  503. this.sAdress = address;
  504. }
  505.  
  506. }
  507.  
  508. ******************************************************************************************************
  509.  
  510.  
  511. package connector;
  512.  
  513. import java.sql.*;
  514.  
  515. public class ConnectDb {
  516.  
  517. public static Connection startConnection() {
  518. Connection con = null;
  519. try {
  520. DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
  521. } catch (Exception e) {
  522. System.out.println("Kan inte database driver class: " + e);
  523. }
  524. try {
  525. con = DriverManager.getConnection(
  526. "jdbc:sqlserver://localhost:1433;" + "databaseName=Uppgift1;user=sa;password=kalle;");
  527. if (con == null)
  528. System.out.println("No driver found!");
  529. else
  530. System.out.println("Connection Established - SUCCESS!");
  531.  
  532. } catch (Exception e) {
  533. System.out.println("Kaaaaaaaan inte hitta database driver class: " + e);
  534. }
  535. return con;
  536.  
  537. }
  538.  
  539. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement