Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enter code heretry
- {
- Integer minEventID = 0, maxEventID = 0, maxCardEventID=0;
- String minEventTime="";
- try{
- Class.forName("com.mysql.jdbc.Driver");
- Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hxdata","root","swag5%7&try");
- // MinEventID and MinEventTIme of first 10 Seconds of Record in tevent table in mysql
- PreparedStatement pst1 = con.prepareStatement("SELECT min(EventID), min(EventTime) from tevent");
- ResultSet rs1=pst1.executeQuery();
- rs1.next();
- minEventID =rs1.getInt(1);
- minEventTime =rs1.getString(2);
- PreparedStatement pst2 = con.prepareStatement("SELECT max(EventID) from tevent where EventTime <= ? + interval 10 second");
- pst2.setString(1, minEventTime);
- ResultSet rs2=pst2.executeQuery();
- rs2.next();
- maxEventID = rs2.getInt(1);
- while(minEventID >= 1)
- {
- //Finding out unique cardNos in 10 seconds
- PreparedStatement pst3 = con.prepareStatement("SELECT distinct cardNo FROM tevent WHERE EventID >= ? AND EventID <= ?");
- pst3.setInt(1, minEventID);
- pst3.setInt(2, maxEventID);
- ResultSet rs3=pst3.executeQuery();
- while(rs3.next())
- {
- //Print all cardNos of screen which are in Resultset
- String cardNoforLoop =rs3.getString(1);
- //This will give all fields of the above cardNo record in between minEventID and maxEventID bracket
- PreparedStatement pst4 = con.prepareStatement("SELECT max(EventID) from tevent where cardNo = ? AND EventID >= ? AND EventID<= ?");
- pst4.setString(1, cardNoforLoop);
- pst4.setInt(2, minEventID);
- pst4.setInt(3, maxEventID);
- ResultSet rs4=pst4.executeQuery();
- rs4.next();
- maxCardEventID = rs4.getInt(1);
- //This will give EventID of the cardNo which is max time
- PreparedStatement pst5 = con.prepareStatement("SELECT * from tevent where cardNo = ? AND EventID = ?");
- pst5.setString(1, cardNoforLoop);
- pst5.setInt(2, maxCardEventID);
- ResultSet rs5=pst5.executeQuery();
- //Print all four fields of that record which are needed in teventshort table for later use
- if(rs5.next()){
- Integer forEventID = rs5.getInt(1);//EventID
- String forEventTime = rs5.getString(2);//EventTime
- String forCardNo = rs5.getString(4);//CardNo
- Integer forDoorID = rs5.getInt(5);//DoorID
- Integer forContolID = rs5.getInt(6);//ControlID
- Integer forEventType = rs5.getInt(8);//EventType
- if (forEventType == 10 || forEventType == 11)
- {
- PreparedStatement pst6 = con.prepareStatement("insert ignore into teventshort (EventTime, CardNo, DoorID, ControlID, EventType) values (?,?,?,?,?)");
- //pst6.setInt(1,forEventID);
- pst6.setString(1,forEventTime);
- pst6.setString(2,forCardNo);
- pst6.setInt(3,forDoorID);
- pst6.setInt(4,forContolID);
- pst6.setInt(5,forEventType);
- pst6.executeUpdate();
- }
- }
- //deleting of records from minEventID to maxEventID taken for 10 second;
- PreparedStatement pst7 = con.prepareStatement("delete from tevent where cardNo = ? AND EventID >= ? AND EventID <=?");
- pst7.setString(1,cardNoforLoop);
- pst7.setInt(2,minEventID);
- pst7.setInt(3,maxEventID);
- pst7.executeUpdate();
- }//Inner while closed
- // MinEventID and MinEventTIme of first Record in tevent table in mysql
- PreparedStatement pst8 = con.prepareStatement("SELECT min(EventID), min(EventTime) from tevent");
- ResultSet rs8=pst8.executeQuery();
- rs8.next();
- minEventID =rs8.getInt(1);
- minEventTime =rs8.getString(2);
- //Finding out maxEventID of next 10 seconds records
- PreparedStatement pst9 = con.prepareStatement("SELECT max(EventID) from tevent where EventTime <= ? + interval 10 second");
- pst9.setString(1, minEventTime);
- ResultSet rs9=pst9.executeQuery();
- rs9.next();
- maxEventID = rs9.getInt(1);
- //maxEventTime = rs2.getString(2);
- }//Outer While loop finished
- }//try finished
Add Comment
Please, Sign In to add comment