Browse Source

Added database class and added button to upload new agenda to db.
Also added mysql jar file to project

DaveyMathijssen 10 năm trước cách đây
mục cha
commit
daa8e88968
4 tập tin đã thay đổi với 82 bổ sung0 xóa
  1. 1 0
      .classpath
  2. BIN
      mysql-connector-java-5.1.32-bin.jar
  3. 65 0
      src/agenda/Database.java
  4. 16 0
      src/gui/menubar/MenuBar.java

+ 1 - 0
.classpath

@@ -3,5 +3,6 @@
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="res"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="lib" path="mysql-connector-java-5.1.32-bin.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>

BIN
mysql-connector-java-5.1.32-bin.jar


+ 65 - 0
src/agenda/Database.java

@@ -0,0 +1,65 @@
+package agenda;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.util.ArrayList;
+
+public class Database {
+  private Connection connect = null;
+  private PreparedStatement preparedStatement = null;
+  
+  //database values
+  private String host = "jdbc:mysql://jancokock.me:3306/festivalagenda";
+  private String user = "projectgroepa6";
+  private String pass = "tzHnYRbpt7r3z4jt";
+  
+  //get agenda values
+  private Agenda agenda = new Agenda();
+  private ArrayList<Act> acts = (ArrayList<Act>) agenda.getActs();
+  
+
+  public void writeDatabase() throws Exception {
+    try {
+      Class.forName("com.mysql.jdbc.Driver");
+      connect = DriverManager.getConnection(host,user,pass);
+
+      //first check if agenda already exists in DB, otherwise delete everything
+       
+	//insert stage names
+      for(Act act : acts){
+    	  String name = act.getName();
+    	  String genre = act.getGenre();
+    	  String beginTime = act.getActTime().getBeginTimeString();
+    	  String endTime = act.getActTime().getEndTimeString();
+    	  int popularity = act.getPopularity();
+    	    
+    	  System.out.println(name);
+    	  System.out.println(genre);
+    	  System.out.println(beginTime);
+    	  System.out.println(endTime);
+    	  System.out.println(popularity);
+    	  //insert data into database
+    	  preparedStatement = connect.prepareStatement("insert into  festivalagenda.Act (agenda_view_id, begintijd, eindtijd, naam, genre, populariteit) values (0, ?, ?, ?, ?, ?)");
+    	  preparedStatement.setString(1, beginTime);
+    	  preparedStatement.setString(2, endTime);
+          preparedStatement.setString(3, name);
+          preparedStatement.setString(4, genre);
+          preparedStatement.setInt(5, popularity);
+          preparedStatement.executeUpdate();
+      }
+            
+    } catch (Exception e) {
+      throw e;
+    } finally {
+    	if (preparedStatement != null) {
+            preparedStatement.close();
+          }
+
+          if (connect != null) {
+            connect.close();
+          }
+    }
+
+  }
+} 

+ 16 - 0
src/gui/menubar/MenuBar.java

@@ -16,6 +16,7 @@ import javax.swing.JOptionPane;
 import javax.swing.KeyStroke;
 
 import agenda.Agenda;
+import agenda.Database;
 import agenda.Io;
 
 @SuppressWarnings("serial")
@@ -47,6 +48,7 @@ public class MenuBar extends JMenuBar{
 		JMenuItem pasteAction = new JMenuItem("Paste");
 		JMenuItem saveAction = new JMenuItem("Save");
 		JMenuItem helpAction = new JMenuItem("Help");
+		JMenuItem uploadAction = new JMenuItem("Upload agenda to DB");
 		//view 
 		JMenuItem editorView = new JMenuItem("Editor");
 		JMenuItem agendaView = new JMenuItem("Agenda");
@@ -60,6 +62,7 @@ public class MenuBar extends JMenuBar{
 		copyAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));
 		pasteAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
 		saveAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,ActionEvent.CTRL_MASK));
+		uploadAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,ActionEvent.CTRL_MASK));
 
 		fileMenu.add(newAction);
 		newAction.addActionListener(new ActionListener() {
@@ -91,6 +94,19 @@ public class MenuBar extends JMenuBar{
 				}
 			}
 		});
+		fileMenu.add(uploadAction);
+		uploadAction.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				Database database = new Database();
+				try {
+					database.writeDatabase();
+				} catch (Exception e) {
+					e.printStackTrace();
+					System.out.println("Database error");
+				}
+				System.out.println("You have clicked on the database action");
+			}
+		});
 		fileMenu.addSeparator();
 		fileMenu.add(exitAction);
 		exitAction.addActionListener(new ActionListener() {