|
|
We
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.
|