University of Cincinnati logo and link  
Programming Assignment #1
 
  UC ingotWe know that MySQL Control Center doesn't do a good job of SELECT statements.  But we like the other tools in MySQL CC.  So let's make our own SELECT query builder.

Requirements

All projects should have this:

  • Use any GUI you wish - Swing or JSP/Servlet, whichever you like.
    • You may also create as many pages as you wish.
  • Have a dropdown for the user to select a table from the database.
  • Next, either on the same page or a different page, display a dropdown with the columns from that table.  
    • When the user clicks a column name, add that to some type of list.
  • Then, when the user clicks a RUN QUERY button, construct the SELECT statements and display the results to the user.
  • Use a JavaBean to execute the query.  
    • It does not necessarily have to be built from a GUI tool (though it can be), but it should follow the JavaBeans standard.
    • Create a manifest file as well.  You don't have to create and deploy a jar, just create the manifest.
Now, choose one of the following options to complete your GUI tool.

Option 1: Allow the user to join two tables for a result set.  Make the necessary drop downs to do so.

Option 2: Allow the user to create a where clause.  WHERE collegeID = 32, for instance.

Hints

  • Use any tables you want, just send me the CREATE statements.  Probably the best approach is to use the students and colleges tables we've used in class, but feel free to add more.
  • If you use JSP, you can display the results in an HTML table.  If you use Swing, use a component of your choice, such as a text area or JTable.
  • Make extensive use of DatabaseMetaData and ResultSetMetaData.
  • Lab time will be provided if requested.
  • Keep in mind, you need not actually deploy the bean in your browser, though you may want to do so for your own knowledge and verification of the bean syntax.  But, the bean must have the proper syntax and have a manifest file.
Grading Criteria:
  • GUI tool allows user to select table and column names.  These are dynamically retrieved from the database: 10
  • RUN QUERY button works as expected: 10
  • Bean has proper syntax: 10
  • Manifest file correct: 10
  • All parts are commented: 10
  • At least one of the options (1 or 2) is implemented: 10
  • ResultSet data are displayed properly and in good form: 10
  • Did something extra, beyond the requirements stated here: 10
  • GUI Design and source code are in good form: 10
  • Gave it the old college try: 10
Additional Deductions:
  • 10% off for every 24 hours late, beginning at 6:31 PM on the due date.