title: getting start and end time in java
body: <p>i want to get the value of startTime and endTime from java gui to database. </p>
  
  <p>ComputerSeats class</p>
  
  <pre><code>import javax.swing.*;
  import java.awt.*;
  import java.awt.event.*;
  import java.text.SimpleDateFormat;
  import java.util.Date;
  import java.util.TimeZone;
  
  public class SeatMonitoringDesign extends JFrame 
  {
  public JLabel LStation, LID, LFirstName, LLastName, LTimeIn;
  public JLabel[] Astation,Aid, Afirstname, Alastname, Atime;
  public JRadioButton[] seat = new JRadioButton[10];
  private String str = "";
  private int station, occupiedSeatCounter;
  private JLabel studNum, seatNum;
  private ButtonGroup seatGroup = new ButtonGroup();
  private boolean[] seatOccupied = new boolean[10];
  private SimpleDateFormat dateFormatter = new SimpleDateFormat("hh:mm:ss");
  private JTextField studNumTF;
  private JButton logIn, logOut;
  private ButtonHandler logInB;
  private ButtonHandler logOutB;
  private ButtonHandler radioB;
  
  
  public SeatMonitoringDesign()
  {
  
  studNum = new JLabel("Enter Your Student Number: ");
  studNum.setLocation(30,20);
  studNum.setSize(200,100);
  
  studNumTF = new JTextField(7);
  studNumTF.setLocation(50,80);
  studNumTF.setSize(120,30);
  
  seatNum = new JLabel("Station Numbers: ");
  seatNum.setLocation(60,90);
  seatNum.setSize(600,400);
  
  setTitle("Computer Seat Registration");
  
  Container pane = getContentPane();
  
   pane.setLayout(null);
   pane.add(studNum);
   pane.add(studNumTF);
  
   setSize(1130,500);
   setResizable(false);
   setLocationRelativeTo(null);
   setDefaultCloseOperation(EXIT_ON_CLOSE);
  
  int x=50,y=150;
  for(int i=0 ; i&lt;10 ; i++)
  {
  switch(i)
  {
      case 0: str = "1"; break;
      case 1: str = "2"; break;
      case 2: str = "3"; break;
      case 3: str = "4"; break;
      case 4: str = "5"; break;
      case 5: str = "6"; break;
      case 6: str = "7"; break;
      case 7: str = "8"; break;
      case 8: str = "9"; break;
      case 9: str = "10"; break;
  }
  seat[i] = new JRadioButton(str);
  seat[i].setSize(60,40);
  seat[i].setLocation(x,y);
  radioB = new ButtonHandler();
  seat[i].addItemListener(radioB);
  seat[i].setBackground(Color.green);
  seatGroup.add(seat[i]);
  pane.add(seat[i]);
  x=110;
  
  if((i+1)%2==0)
  {
      x=50;
      y=y+30;
  }
  }
  
  for(int i=0 ; i&lt;10 ; i++)
  {
  seatOccupied[i] = false;
  }
  
  logIn = new JButton("Log In");
  logIn.setSize(100,30);
  logIn.setLocation(15,350);
  logIn.setBackground(Color.orange);
  logInB = new ButtonHandler();
  logIn.addActionListener(logInB);
  pane.add(logIn);
  
  logOut = new JButton("Log Out");
  logOut.setSize(100,30);
  logOut.setLocation(125,350);
  logOut.setBackground(Color.orange);
  logOutB = new ButtonHandler();
  logOut.addActionListener(logOutB);
  pane.add(logOut);
  
  LStation = new JLabel("Station #", SwingConstants.CENTER);
  LStation.setSize(100,20);
  LStation.setLocation(280,60);
  pane.add(LStation);
  
  LID = new JLabel("Student Number");
  LID.setSize(100,20);
  LID.setLocation(450,60);
  pane.add(LID);
  
  LFirstName = new JLabel("First Name");
  LFirstName.setSize(100,20);
  LFirstName.setLocation(630,60);
  pane.add(LFirstName);
  
  LLastName = new JLabel("Last Name");
  LLastName.setSize(100,20);
  LLastName.setLocation(810,60);
  pane.add(LLastName);
  
  LTimeIn = new JLabel("Time In");
  LTimeIn.setSize(100,20);
  LTimeIn.setLocation(990,60);
  pane.add(LTimeIn);
  
  Astation = new JLabel[10];
  Aid = new JLabel[10];
  Afirstname = new JLabel[10];
  Alastname = new JLabel[10];
  Atime = new JLabel[10];
  
  y=85;
  for(int i=0 ; i&lt;10 ; i++)
  { 
  switch(i)
  {
      case 0: str = "1"; break;
      case 1: str = "2"; break;
      case 2: str = "3"; break;
      case 3: str = "4"; break;
      case 4: str = "5"; break;
      case 5: str = "6"; break;
      case 6: str = "7"; break;
      case 7: str = "8"; break;
      case 8: str = "9"; break;
      case 9: str = "10"; break;
  }
  
  Astation[i] = new JLabel(str, SwingConstants.CENTER);
  Astation[i].setSize(100,30);
  Astation[i].setLocation(280,y);
  pane.add(Astation[i]);
  
  Aid[i] = new JLabel("Vacant Station");
  Aid[i].setSize(100,30);
  Aid[i].setLocation(450,y);
  pane.add(Aid[i]);
  
  Afirstname[i] = new JLabel("---------");
  Afirstname[i].setSize(100,30);
  Afirstname[i].setLocation(630,y);
  pane.add(Afirstname[i]);
  
  Alastname[i] = new JLabel("---------");
  Alastname[i].setSize(100,30);
  Alastname[i].setLocation(810,y);
  pane.add(Alastname[i]);
  
  Atime[i] = new JLabel("00:00:00--");
  Atime[i].setSize(100,30);
  Atime[i].setLocation(990,y);
  pane.add(Atime[i]);
  y = y+30;
  }
  setVisible(true);
  
  }
  
  public class ButtonHandler implements ActionListener, ItemListener
  {
  public void itemStateChanged(ItemEvent e)
  {
    for(int i=0 ; i&lt;10 ; i++)
      {
          if(e.getSource() == seat[i])
          station = (i+1);
      }
  }
  
  public void actionPerformed(ActionEvent e)
  {
  LogicalChecker lc = new LogicalChecker();
  cobadatabase cb = new cobadatabase(studNumTF.getText());
  
  String output;
  Date now1 = new Date();
  Date now2 = new Date();
  
  //long secs = (now2.getTime() - now1.getTime()) / 1000;
  //long diffSeconds = diff / 1000 % 60; 
  //long diffMinutes = diff / (60 * 1000) % 60; 
  // long diffHours = diff / (60 * 60 * 1000) % 60;
  
  //long startTime = System.currentTimeMillis();
  //long finishTime = System.currentTimeMillis();
  //long elapsedTime = finishTime - startTime; 
  
  long diff = (now2.getTime() - now1.getTime());
  cobadatabase cb2 = new       cobadatabase(studNumTF.getText(),dateFormatter.format(now1),dateFormatter.format(now2),      diff);
  
  
  if("Log In".equals(e.getActionCommand()))
  {         
      if(station == 0)
      {
          lc.StationCheck(0);
      }
      else if(seatOccupied[station-1] == true)
      {
          lc.StationCheck(2);
      }
      else if(!studNumTF.getText().equals(cb.getStudentNumber()))
      {
           studNumTF.setText("");
           lc.StationCheck(3); 
      }
      else
      {
  
         seatOccupied[station-1] = true;
  
              Aid[station-1].setText(cb.getStudentNumber());
              Afirstname[station-1].setText(cb.getFirstName());
              Alastname[station-1].setText(cb.getLastName());  
              seat[station-1].setBackground(Color.red);
              Atime[station-1].setText(dateFormatter.format(now1));
              occupiedSeatCounter++;
      }
  }
  
  if("Log Out".equals(e.getActionCommand()))
   {
  
  
      if(station == 0)
      {
          lc.StationCheck(0);
      }
      else if(Aid[station-1].getText() == "Vacant Station")
      {
          lc.StationCheck(1);
      }
      else
      {
  
          Aid[station-1].setText("Vacant Station");
          Afirstname[station-1].setText("---------");
          Alastname[station-1].setText("---------");
          seat[station-1].setBackground(Color.green);
          Atime[station-1].setText("00:00:00");
          seatOccupied[station-1] = false;
          studNumTF.setText("");
          output = "Time Check-Out "+dateFormatter.format(now2)+"\n Total Time: "     +diff;
          JOptionPane.showMessageDialog(null,output, "Check-    Out.",JOptionPane.INFORMATION_MESSAGE);
  
      }
  }
  
  }
  } 
  
  } 
  </code></pre>
  
  <p>cobadatabase class</p>
  
  <pre><code>import java.sql.*;
  import java.util.*;
  import java.text.*;
  
  public class cobadatabase{
  protected String sn,fn,ln,srt, sn2, srt2, et;
  protected Long tt;
  private Connection conn;
  private PreparedStatement st; 
  
  public cobadatabase(){
      try{
         Class.forName("com.mysql.jdbc.Driver");
         conn =   DriverManager.getConnection("jdbc:mysql://localhost/studentrecords","root","");
  
          }
  
  catch(Exception e){}
  }
  
   public cobadatabase(String sn2, String str2, String et, long tt)
  {
      this();
      try
      {
      st = conn.prepareStatement("Insert into time(StudentNumber,StartTime,EndTime,TotalTime) values(?,?,?,?)");
      st.setString(1,sn2);
      st.setString(2,str2);
      st.setString(3,et);
      st.setLong(4,tt);
      st.executeUpdate();
  
  }
  catch(Exception e){}
  }
  
  public cobadatabase(String StudentNumber)
  {
  
      this();
      try{
         st = conn.prepareStatement("SELECT * FROM student WHERE StudentNumber=?");
         st.setString(1,StudentNumber);
         ResultSet rs = st.executeQuery();
  
              while (rs.next())
              {
                  this.sn = rs.getString(1);
                  this.fn = rs.getString(2);
                  this.ln = rs.getString(3);
                  this.srt = rs.getString(4);
  
                  SimpleDateFormat ft = new SimpleDateFormat("kk:mm:ss");
                  ft.format(rs.getTime("TotalTime").getTime());
              }   
  }
  catch(Exception e){}
  }
  
  public cobadatabase(String StudentNumber2, String Start, String End)
  {
  
      this();
      try{
         st = conn.prepareStatement("SELECT * FROM time WHERE StudentNumber2=?");
         st.setString(2,Start);
         st.setString(3,End);
         ResultSet rs = st.executeQuery();
              while (rs.next())
              {
                  this.sn2 = rs.getString(1);
                  this.srt2 = rs.getString(2);
                  this.et = rs.getString(3);
                  this.tt = rs.getLong(4);
              }
      }
      catch(Exception e){}
  }
  
  
  
      public String getFirstName(){
      return fn;
  }
      public String getLastName(){
      return ln;
  }
      public String getStudentNumber(){
      return sn;
  }
      public String getStart(){
      return srt2;
  }
      public String getEnd(){
      return et;
  }
  
  }
  </code></pre>
  
  <p>the problem here is that when the login button is clicked, the start time displays both on the startTime and endTime column in my database. And when the log out button is clicked, another row is created in the database which contains the endTime on both startTime and endTime column.. I am wondering why does this happen..</p>