فهرست منبع

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

DaveyMathijssen 10 سال پیش
والد
کامیت
daa8e88968
4فایلهای تغییر یافته به همراه82 افزوده شده و 0 حذف شده
  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() {