Guest User

Untitled

a guest
Jan 11th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.60 KB | None | 0 0
  1. //Amad Ali
  2.  
  3. import java.util.*;
  4. import java.io.*;
  5. import java.sql.*;
  6.  
  7. //databaseInterface
  8. public class databaseInterface{
  9. public static void main(String[]args){
  10. System.out.println("Starting Interface... \n");
  11.  
  12. boolean serverConnect = false;
  13.  
  14. try{
  15. //Login Credentials
  16. String p = "aali8";
  17. String u = "ALI2012";
  18.  
  19. Class.forName("oracle.jdbc.driver.OracleDriver");
  20. Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@fourier.cs.iit.edu:1521:orcl", p, u);
  21. Statement stmt = conn.createStatement();
  22.  
  23. System.out.println("Hacked into the matrix! Loading... \n");
  24.  
  25. //menu();
  26.  
  27. System.out.println("Terminating connection to the matrix... Run before the FBI comes \n");
  28.  
  29. stmt.close();
  30. conn.close();
  31.  
  32. serverConnect = true;
  33. }
  34.  
  35. //exceptions
  36. catch(SQLException sqle){
  37. System.out.println("SQLException occured: " + sqle);
  38. }
  39. catch(ClassNotFoundException cnfe){
  40. System.out.println("ClassNotFound exception occured: " + cnfe);
  41. }
  42. if(serverConnect == false){
  43. System.out.println("Could not connect to the matrix. Interface quitting.");
  44. }
  45. }
  46.  
  47. public static void menu(){
  48. Scanner input = new Scanner(System.in);
  49. boolean runMenu = true;
  50.  
  51. while(runMenu == true){
  52. //Each switch case will represent one of the seven questions for this assignment
  53. System.out.println("Welcome to the JDBC menu!");
  54. System.out.println("Plesae select an option: ");
  55. System.out.println("1 - Enter class type -> List all classes of type + insructor who teach those classes");
  56. System.out.println("2 - Enter season/year -> List all classes that were given at that time");
  57. System.out.println("3 - Enter class type -> list the total revenue obtained from that class type");
  58. System.out.println("4 - Enter first/last name -> return if they are an instructor/member/both");
  59. System.out.println("5 - Enter user info ->display contact information");
  60. System.out.println("6 - Revenue of the rec center");
  61. System.out.println("7 - LastClassTaught");
  62. System.out.println("0 - Quit");
  63.  
  64. System.out.println("\nNow select which case you would like to do. \nUser Input Selection: ");
  65. String choice = input.next();
  66. char selection = choice.charAt(0);
  67.  
  68. switch(selection){
  69. case '1': caseOne(); break;
  70. case '2': caseTwo(); break;
  71. case '3': caseThree(); break;
  72. case '4': caseFour(); break;
  73. case '5': caseFive(); break;
  74. case '6': caseSix(); break;
  75. case '7': caseSeven(); break;
  76. case '0': caseZero(); break;
  77. default: System.out.println("\ncommand not recognized, please try again"); break;
  78. }
  79. }
  80. }
  81.  
  82. //Case 1: Class Type -> List all classes of type + instructor
  83. public static void caseOne(){
  84. try{
  85. //Login Credentials
  86. String user = "aali8";
  87. String pass = "ALI2012";
  88.  
  89. //Connection
  90. Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@fourier.cs.iit.edu:1521:orcl", user, pass);
  91. Statement stmt = conn.createStatement();
  92.  
  93. //Scanner input
  94. Scanner input = new Scanner(System.in);
  95.  
  96. //Prompt
  97. System.out.println("Enter a class type: ");
  98. String typeInput = input.next();
  99.  
  100. //SQL Query
  101. String sql = "SELECT title, f_name, l_name" +
  102. "FROM Class, Instructor" +
  103. "WHERE class.type = '"+typeInput+"' and Class.instructor = Instructor.id";
  104.  
  105. //Execute Query
  106. ResultSet rset = stmt.executeQuery(sql);
  107. while(rset.next()){
  108. System.out.println(" - " + rset.getString("title") + rset.getString("f_name") + rset.getString("l_name"));
  109. }
  110.  
  111. stmt.close();
  112. conn.close();
  113. }
  114. catch(SQLException sqle){
  115. System.out.println("SQLException occured: " + sqle);
  116. }
  117. }
  118.  
  119. //Case 2: User inputs a season/year/both lists all classes that are given at that time
  120. public static void caseTwo(){
  121. //String creation
  122. String sql = null;
  123.  
  124. try{
  125. //Login Credentials
  126. String user = "aali8";
  127. String pass = "ALI2012";
  128.  
  129. //Connection
  130. Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@fourier.cs.iit.edu:1521:orcl", user, pass);
  131. Statement stmt = conn.createStatement();
  132.  
  133. //Scanner input
  134. Scanner input = new Scanner(System.in);
  135.  
  136. //Prompt
  137. System.out.println("Enter Season or year(or BOTH! If both, enter season first): ");
  138. String userInput = input.next();
  139.  
  140. //String Tokenizer to parse an input line
  141. String[] tokens = userInput.split(" ");
  142.  
  143. //Check length of token
  144. if(tokens.length == 2){
  145. sql = "SELECT title " +
  146. "FROM Class " +
  147. "WHERE class.season = '"+tokens[0]+"' and class.year = '"+Integer.parseInt(tokens[1])+"'";
  148. }
  149. if(tokens.length == 1){
  150. if(tokens[0].equals("Spring")||tokens[0].equals("Summer")||tokens[0].equals("Fall")||tokens[0].equals("Winter")){
  151. sql = "SELECT title " +
  152. "FROM Class " +
  153. "WHERE class.season = '"+tokens[0]+"'";
  154. }
  155. else{
  156. sql = "SELECT title " +
  157. "FROM Class " +
  158. "WHERE Class.year = '"+Integer.parseInt(tokens[0])+"'";
  159. }
  160. }
  161. //Execute Query
  162. ResultSet rset = stmt.executeQuery(sql);
  163. while(rset.next()){
  164. System.out.println("Title: " +rset.getString("title"));
  165. }
  166. }
  167. catch(SQLException sqle){
  168. System.out.println("SQLException occured: " + sqle);
  169. }
  170. }
  171.  
  172. //Case 3: When the user inputs a class type, list the total revenue obtained from that class type
  173. public static void caseThree(){
  174. try{
  175. //Login Credentials
  176. String user = "aali8";
  177. String pass = "ALI2012";
  178.  
  179. //Connection
  180. Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@fourier.cs.iit.edu:1521:orcl", user, pass);
  181. Statement stmt = conn.createStatement();
  182.  
  183. //Scanner input
  184. Scanner input = new Scanner(System.in);
  185.  
  186. //Prompt
  187. System.out.print("Enter class type: ");
  188.  
  189. //User input
  190. String typeInput = input.next();
  191.  
  192. //SQL Query
  193. String sql = "SELECT sum(Cost) " +
  194. "FROM Enrollment, Class" +
  195. "WHERE Class.ID = Enrollment.class_id and '"+typeInput+"' = Class.type";
  196.  
  197. ResultSet rset = stmt.executeQuery(sql);
  198. int total = 0;
  199. while(rset.next()){
  200. total = rset.getInt(1);
  201. }
  202. System.out.println("The total revenue for the class type is $" + total + ".");
  203. stmt.close();
  204. conn.close();
  205. }
  206. catch (SQLException sqle){
  207. System.out.println("SQLException occured: " + sqle);
  208. }
  209. }
  210.  
  211. //Case 4: User enters f_name, l_name and outputs whether that person is instructor or member
  212. public static void caseFour(){
  213. try{
  214. //Login Credentials
  215. String user = "aali8";
  216. String pass = "ALI2012";
  217.  
  218. //Connection
  219. Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@fourier.cs.iit.edu:1521:orcl", user, pass);
  220. Statement stmt = conn.createStatement();
  221.  
  222. //Scanner input
  223. Scanner input = new Scanner(System.in);
  224.  
  225. //Prompt
  226. System.out.print("First Name: ");
  227. String fname = input.next();
  228.  
  229. System.out.print("Last name: ");
  230. String lname = input.next();
  231.  
  232. //SQL Query
  233. String sql = "SELECT id " +
  234. "FROM RecCenterMember, Instructor " +
  235. "WHERE (RecCenterMember.f_name = fname & RecCenterMember.l_name = lname) & RecCenterMember.id = Instructor.id";
  236.  
  237. //Execute Query
  238. //Put something there
  239.  
  240. stmt.close();
  241. conn.close();
  242. }
  243. catch (SQLException sqle){
  244. System.out.println("SQLException occured: " + sqle);
  245. }
  246. }
  247.  
  248. //Case 5: When given first/last name or an ID, return address/phone of that person or error
  249. public static void caseFive(){
  250. try{
  251. //Login Credentials
  252. String user = "aali8";
  253. String pass = "ALI2012";
  254.  
  255. //Connection
  256. Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@fourier.cs.iit.edu:1521:orcl", user, pass);
  257. Statement stmt = conn.createStatement();
  258.  
  259. //Scanner input
  260. Scanner input = new Scanner(System.in);
  261.  
  262. //Prompt
  263. System.out.println("Enter '1' for First/Last name entry");
  264. System.out.println("Enter '2' for ID entry");
  265. System.out.print("What will it be?: ");
  266.  
  267. //User input
  268. String choice = input.next();
  269. boolean exists = false;
  270. boolean inData = false;
  271. int selection = 0;
  272.  
  273. switch(choice){
  274. case "1":
  275. selection = 1; break;
  276. case "2":
  277. selection = 2; break;
  278. default: return;
  279. }
  280.  
  281. // First/Last Name
  282. if(selection == 1){
  283. System.out.print("First: ");
  284. String fname = input.next();
  285. System.out.print("Last: ");
  286. String lname = input.next();
  287.  
  288. //SQL Query
  289. String sql1 = "SELECT address, phone " +
  290. "FROM FamilyPackage, RecCenterMember " +
  291. "WHERE RecCenterMember.f_name = '"+fname+"' and RecCenterMember.l_name = '"+lname+"' and RecCenterMember.family_id = FamilyPackage.family_id";
  292.  
  293. String sql2 = "SELECT f_name, l_name " +
  294. "FROM RecCenterMember " +
  295. "WHERE RecCenterMember.f_name = '"+fname+"' and RecCenterMember.l_name = '"+lname+"'";
  296.  
  297. //Execute Query
  298. ResultSet rset1 = stmt.executeQuery(sql1);
  299. while(rset1.next()){
  300. System.out.println(" - " + rset1.getString("address"));
  301. System.out.println(" - " + rset1.getString("phone"));
  302. inData = true;
  303. }
  304. ResultSet rset2 = stmt.executeQuery(sql2);
  305. while(rset2.next()){
  306. System.out.println(" - " + rset2.getString("f_name"));
  307. System.out.println(" - " + rset2.getString("l_name"));
  308. exists = true;
  309. }
  310. }
  311. //ID search
  312. if(selection ==2){
  313. System.out.print("ID Number: ");
  314. String id = input.next();
  315.  
  316. //SQL Query
  317. String sql1 = "SELECT address, phone " +
  318. "FROM FamilyPackage, RecCenterMember " +
  319. "WHERE RecCenterMember.id = '"+id+"' and FamilyPackage.family_id = RecCenterMember.family_id";
  320.  
  321. String sql2 = "SELECT f_name, l_name " +
  322. "FROM RecCenterMember " +
  323. "WHERE RecCenterMember.id = '"+id+"' ";
  324. //SQL Query
  325. ResultSet rset1 = stmt.executeQuery(sql1);
  326. while(rset1.next()){
  327. System.out.println(" - " + rset1.getString("address"));
  328. System.out.println(" - " + rset1.getString("phone"));
  329. inData = true;
  330. }
  331. ResultSet rset2 = stmt.executeQuery(sql2);
  332. while(rset2.next()){
  333. System.out.println(" - " + rset2.getString("f_name"));
  334. System.out.println(" - " + rset2.getString("l_name"));
  335. exists = true;
  336. }
  337. }
  338. //Write a check
  339. }
  340. catch (SQLException sqle){
  341. System.out.println("SQLException occured: " + sqle);
  342. }
  343. }
  344.  
  345. //Case 6: Impact on the revenue of the RecCenter if some discounts were given for age groups
  346. public static void caseSix(){
  347. try{
  348. //Login Credentials
  349. String user = "aali8";
  350. String pass = "ALI2012";
  351.  
  352. //Connection
  353. Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@fourier.cs.iit.edu:1521:orcl", user, pass);
  354. Statement stmt = conn.createStatement();
  355.  
  356. //Scanner input
  357. Scanner input = new Scanner(System.in);
  358.  
  359. //Prompt
  360. System.out.println("Create % discount for certain age groups, and see how it effects revenue!");
  361. System.out.println("Enter % discount: ");
  362.  
  363. //User input
  364. double discount = input.nextDouble();
  365.  
  366. //Select value between 0 and 1
  367. if(discount > 1 || discount <= 0)
  368. return;
  369.  
  370. System.out.println("Lower Age Limit: ");
  371. int lower = input.nextInt();
  372. System.out.println("Upper Age Limit: ");
  373. int upper = input.nextInt();
  374.  
  375. //Check
  376. if(lower > upper || lower < 0 || upper > 130)
  377. return;
  378.  
  379. //SQL query
  380. String sql1 = "SELECT sum(Cost) " +
  381. "FROM Enrollment ";
  382. String sql2 = "SELECT sum(Cost) " +
  383. "FROM Enrollment, RecCenterMember " +
  384. "WHERE Enrollment.member_id = RecCenterMember.id and RecCenterMember.dob > '"+upper+"' and RecCenterMember.dob < '"+lower+"' ";
  385.  
  386. //Executing SQL Query
  387. ResultSet rset1 = stmt.executeQuery(sql1);
  388.  
  389. int val1 = 0;
  390. while(rset1.next())
  391. val1 = rset1.getInt(1);
  392.  
  393. System.out.println("Total Revenue before discount is $" + val1 + ".");
  394. upper = 20120101 - (upper*10000);
  395. lower = 20120101 - (lower*10000);
  396.  
  397. ResultSet rset2 = stmt.executeQuery(sql2);
  398. int val2 = 0;
  399. while(rset2.next())
  400. val2 = rset2.getInt(1);
  401.  
  402. System.out.println("The revenue effected by the discount is $" + val2 + ".");
  403. double result = val1 - (val2 * discount);
  404.  
  405. System.out.println("Thee total revenue with with discount included is $" + result + ".");
  406.  
  407. stmt.close();
  408. conn.close();
  409. }
  410. catch (SQLException sqle){
  411. System.out.println("SQLException occured: " + sqle);
  412. }
  413. }
  414.  
  415. public static void caseSeven(){
  416. System.out.println("Case Seven");
  417. }
  418.  
  419. public static void caseZero(){
  420. System.out.println("Case Zero");
  421. }
  422. }
Add Comment
Please, Sign In to add comment