Advertisement
Guest User

Untitled

a guest
Mar 12th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.10 KB | None | 0 0
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.sql.ResultSetMetaData;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8. import java.text.SimpleDateFormat;
  9. import java.util.Calendar;
  10. import java.util.Date;
  11.  
  12. public class DBAccess {
  13. private Connection connect = null;
  14. private Statement statement = null;
  15. private PreparedStatement preparedStatement = null;
  16. private ResultSet resultSet = null;
  17.  
  18. public void readDataBase() throws Exception {
  19. try {
  20. // This will load the MySQL driver, each DB has its own driver
  21. Class.forName("com.mysql.jdbc.Driver");
  22. // Setup the connection with the DB
  23. connect = DriverManager
  24. .getConnection("jdbc:mysql://localhost/cs435_lab4?"
  25. + "user=final&password=project");
  26.  
  27. // Statements allow to issue SQL queries to the database
  28. statement = connect.createStatement();
  29.  
  30.  
  31. //question1(statement);
  32. //question2Add(statement);
  33. //question2Del(statement);
  34. //question2Driver(statement);
  35. //question3(statement);
  36. question4(statement);
  37.  
  38.  
  39. /*
  40. // Result set get the result of the SQL query
  41. resultSet = statement
  42. .executeQuery("select * from bus");
  43. writeResultSet(resultSet);
  44.  
  45.  
  46. // PreparedStatements can use variables and are more efficient
  47. preparedStatement = connect
  48. .prepareStatement("insert into feedback.comments values (default, ?, ?, ?, ? , ?, ?)");
  49. // "myuser, webpage, datum, summery, COMMENTS from feedback.comments");
  50. // Parameters start with 1
  51. preparedStatement.setString(1, "Test");
  52. preparedStatement.setString(2, "TestEmail");
  53. preparedStatement.setString(3, "TestWebpage");
  54. preparedStatement.setDate(4, new java.sql.Date(2009, 12, 11));
  55. preparedStatement.setString(5, "TestSummary");
  56. preparedStatement.setString(6, "TestComment");
  57. preparedStatement.executeUpdate();
  58.  
  59. preparedStatement = connect
  60. .prepareStatement("SELECT myuser, webpage, datum, summery, COMMENTS from feedback.comments");
  61. resultSet = preparedStatement.executeQuery();
  62. writeResultSet(resultSet);
  63.  
  64. // Remove again the insert comment
  65. preparedStatement = connect
  66. .prepareStatement("delete from feedback.comments where myuser= ? ; ");
  67. preparedStatement.setString(1, "Test");
  68. preparedStatement.executeUpdate();
  69. resultSet = statement
  70. .executeQuery("select * from trip");
  71. writeMetaData(resultSet);
  72. */
  73.  
  74.  
  75. } catch (Exception e) {
  76. throw e;
  77. } finally {
  78. close();
  79. }
  80.  
  81. }
  82.  
  83. private void question1(Statement statement) throws SQLException{
  84. String startName = "Pittsburgh";
  85. String destName = "Canada";
  86. String date = "2012-02-19";
  87.  
  88. ResultSet result = statement.executeQuery("SELECT t.StartLocationName, t.DestinationName, tof.TripDate, tof.ScheduledStartTime, tof.ScheduledArrivalTime, tof.DriverName, tof.BusID "+
  89. "FROM trip t, tripoffering tof "+
  90. "WHERE t.TripNumber = tof.TripNumber "+
  91. "AND t.StartLocationName = '" + startName +"' "+
  92. "AND t.DestinationName = '" + destName + "' " +
  93. "AND tof.TripDate = '" + date + "'");
  94. writeResultSet(result);
  95. }
  96.  
  97. private void question2Add(Statement statement) throws SQLException{
  98.  
  99. String tripNumber = "1";
  100. String date = "2012-01-20";
  101. String schedStartTime = "12:00PM";
  102. String schedArrivalTime = "2:00PM";
  103. String driverName = "Bob";
  104. String busId = "1";
  105.  
  106. statement.executeUpdate("INSERT INTO tripoffering "+
  107. "VALUES (" + tripNumber +
  108. ", '" + date +
  109. "', '" + schedStartTime +
  110. "', '" + schedArrivalTime +
  111. "', '" + driverName +
  112. "', " + busId + ")");
  113.  
  114. writeResultSet(statement.executeQuery("SELECT * FROM tripoffering"));
  115. }
  116.  
  117. private void question2Del(Statement statement) throws SQLException{
  118. String tripNumber = "1";
  119. String date = "2012-01-20";
  120. String schedStartTime = "12:00PM";
  121.  
  122. statement.executeUpdate("DELETE FROM tripoffering "+
  123. "WHERE TripNumber = '" + tripNumber + "' "
  124. + "AND TripDate = '" + date + "' "
  125. + "AND ScheduledStartTime = '" + schedStartTime + "'");
  126.  
  127. writeResultSet(statement.executeQuery("SELECT * FROM tripoffering"));
  128. }
  129.  
  130. private void question2Driver(Statement statement) throws SQLException{
  131. String tripNumber = "1";
  132. String date = "2012-01-20";
  133. String schedStartTime = "12:00PM";
  134.  
  135. String driverName = "Alicia";
  136.  
  137. statement.executeUpdate("UPDATE tripoffering "+
  138. "SET DriverName = '" + driverName + "' "
  139. + "WHERE TripNumber = '" + tripNumber + "' "
  140. + "AND TripDate = '" + date + "' "
  141. + "AND ScheduledStartTime = '" + schedStartTime + "'");
  142.  
  143. writeResultSet(statement.executeQuery("SELECT * FROM tripoffering"));
  144.  
  145. }
  146.  
  147.  
  148.  
  149. private ResultSet question3(Statement statement) throws SQLException{
  150.  
  151. String tripNumber = "1";
  152.  
  153. ResultSet result = statement.executeQuery("SELECT tsi.TripNumber, tsi.StopNumber, tsi.SequenceNumber, s.StopAddress " +
  154. "FROM tripstopinfo tsi, stop s " +
  155. "WHERE tsi.TripNumber = '" + tripNumber +"' " +
  156. "AND s.StopNumber = tsi.StopNumber");
  157.  
  158. writeResultSet(result);
  159. return result;
  160. }
  161.  
  162. private ResultSet question4(Statement statement) throws SQLException{
  163. String driverName = "Bob";
  164. Calendar cal = Calendar.getInstance();
  165. java.sql.Date inputDate = new java.sql.Date(2012-02-19);
  166. String startDate = inputDate.toString();
  167. cal.setTime(inputDate);
  168. cal.add(Calendar.DATE,7);
  169.  
  170.  
  171. SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd");
  172. String endDate = myFormat.format(cal.getTime().toString());
  173.  
  174. System.out.println("SELECT * " +
  175. "FROM tripoffering " +
  176. "WHERE DriverName = '" + driverName +"' " +
  177. " AND TripDate >= '" + startDate + "'" +
  178. " AND TripDate <= '" + endDate + "'");
  179.  
  180. ResultSet result = statement.executeQuery("SELECT * " +
  181. "FROM tripoffering " +
  182. "WHERE DriverName = '" + driverName +"' " +
  183. " AND TripDate >= '" + startDate + "'" +
  184. " AND TripDate <= '" + endDate + "'");
  185.  
  186. writeResultSet(result);
  187. return result;
  188. }
  189.  
  190.  
  191. private void writeMetaData(ResultSet resultSet) throws SQLException {
  192. // Now get some metadata from the database
  193. // Result set get the result of the SQL query
  194.  
  195. System.out.println("The columns in the table are: ");
  196.  
  197. System.out.println("Table: " + resultSet.getMetaData().getTableName(1));
  198. for (int i = 1; i <= resultSet.getMetaData().getColumnCount(); i++) {
  199. System.out.println("Column " + i + " "
  200. + resultSet.getMetaData().getColumnName(i));
  201. }
  202. }
  203.  
  204. private void writeResultSet(ResultSet resultSet) throws SQLException {
  205. // ResultSet is initially before the first data set
  206. ResultSetMetaData rsmd = resultSet.getMetaData();
  207.  
  208. int totalColumns = rsmd.getColumnCount();
  209.  
  210. for(int j = 1; j <= totalColumns; j++){
  211. System.out.printf("%20s", rsmd.getColumnName(j));
  212. }
  213.  
  214. while (resultSet.next()) {
  215. System.out.println("");
  216. for(int i = 1; i <= totalColumns; i ++){
  217. System.out.printf("%20s", resultSet.getObject(i).toString());
  218. }
  219. }
  220. }
  221.  
  222. // You need to close the resultSet
  223. private void close() {
  224. try {
  225. if (resultSet != null) {
  226. resultSet.close();
  227. }
  228.  
  229. if (statement != null) {
  230. statement.close();
  231. }
  232.  
  233. if (connect != null) {
  234. connect.close();
  235. }
  236. } catch (Exception e) {
  237.  
  238. }
  239. }
  240. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement