Guest User

Untitled

a guest
Aug 5th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.29 KB | None | 0 0
  1. enter code heretry
  2. {
  3. Integer minEventID = 0, maxEventID = 0, maxCardEventID=0;
  4. String minEventTime="";
  5. try{
  6. Class.forName("com.mysql.jdbc.Driver");
  7. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hxdata","root","swag5%7&try");
  8.  
  9. // MinEventID and MinEventTIme of first 10 Seconds of Record in tevent table in mysql
  10. PreparedStatement pst1 = con.prepareStatement("SELECT min(EventID), min(EventTime) from tevent");
  11. ResultSet rs1=pst1.executeQuery();
  12. rs1.next();
  13. minEventID =rs1.getInt(1);
  14. minEventTime =rs1.getString(2);
  15.  
  16. PreparedStatement pst2 = con.prepareStatement("SELECT max(EventID) from tevent where EventTime <= ? + interval 10 second");
  17. pst2.setString(1, minEventTime);
  18. ResultSet rs2=pst2.executeQuery();
  19. rs2.next();
  20. maxEventID = rs2.getInt(1);
  21.  
  22. while(minEventID >= 1)
  23. {
  24. //Finding out unique cardNos in 10 seconds
  25. PreparedStatement pst3 = con.prepareStatement("SELECT distinct cardNo FROM tevent WHERE EventID >= ? AND EventID <= ?");
  26. pst3.setInt(1, minEventID);
  27. pst3.setInt(2, maxEventID);
  28. ResultSet rs3=pst3.executeQuery();
  29. while(rs3.next())
  30. {
  31. //Print all cardNos of screen which are in Resultset
  32. String cardNoforLoop =rs3.getString(1);
  33.  
  34. //This will give all fields of the above cardNo record in between minEventID and maxEventID bracket
  35. PreparedStatement pst4 = con.prepareStatement("SELECT max(EventID) from tevent where cardNo = ? AND EventID >= ? AND EventID<= ?");
  36. pst4.setString(1, cardNoforLoop);
  37. pst4.setInt(2, minEventID);
  38. pst4.setInt(3, maxEventID);
  39. ResultSet rs4=pst4.executeQuery();
  40. rs4.next();
  41. maxCardEventID = rs4.getInt(1);
  42.  
  43. //This will give EventID of the cardNo which is max time
  44. PreparedStatement pst5 = con.prepareStatement("SELECT * from tevent where cardNo = ? AND EventID = ?");
  45. pst5.setString(1, cardNoforLoop);
  46. pst5.setInt(2, maxCardEventID);
  47. ResultSet rs5=pst5.executeQuery();
  48.  
  49. //Print all four fields of that record which are needed in teventshort table for later use
  50. if(rs5.next()){
  51. Integer forEventID = rs5.getInt(1);//EventID
  52. String forEventTime = rs5.getString(2);//EventTime
  53. String forCardNo = rs5.getString(4);//CardNo
  54. Integer forDoorID = rs5.getInt(5);//DoorID
  55. Integer forContolID = rs5.getInt(6);//ControlID
  56. Integer forEventType = rs5.getInt(8);//EventType
  57.  
  58. if (forEventType == 10 || forEventType == 11)
  59. {
  60. PreparedStatement pst6 = con.prepareStatement("insert ignore into teventshort (EventTime, CardNo, DoorID, ControlID, EventType) values (?,?,?,?,?)");
  61. //pst6.setInt(1,forEventID);
  62. pst6.setString(1,forEventTime);
  63. pst6.setString(2,forCardNo);
  64. pst6.setInt(3,forDoorID);
  65. pst6.setInt(4,forContolID);
  66. pst6.setInt(5,forEventType);
  67. pst6.executeUpdate();
  68. }
  69. }
  70. //deleting of records from minEventID to maxEventID taken for 10 second;
  71. PreparedStatement pst7 = con.prepareStatement("delete from tevent where cardNo = ? AND EventID >= ? AND EventID <=?");
  72. pst7.setString(1,cardNoforLoop);
  73. pst7.setInt(2,minEventID);
  74. pst7.setInt(3,maxEventID);
  75. pst7.executeUpdate();
  76. }//Inner while closed
  77.  
  78. // MinEventID and MinEventTIme of first Record in tevent table in mysql
  79. PreparedStatement pst8 = con.prepareStatement("SELECT min(EventID), min(EventTime) from tevent");
  80. ResultSet rs8=pst8.executeQuery();
  81. rs8.next();
  82. minEventID =rs8.getInt(1);
  83. minEventTime =rs8.getString(2);
  84.  
  85. //Finding out maxEventID of next 10 seconds records
  86. PreparedStatement pst9 = con.prepareStatement("SELECT max(EventID) from tevent where EventTime <= ? + interval 10 second");
  87. pst9.setString(1, minEventTime);
  88. ResultSet rs9=pst9.executeQuery();
  89. rs9.next();
  90. maxEventID = rs9.getInt(1);
  91. //maxEventTime = rs2.getString(2);
  92. }//Outer While loop finished
  93.  
  94. }//try finished
Add Comment
Please, Sign In to add comment