Home
About
Projects
Contact
SpidermanP3.java
package dbms20;

/**
 * William Smolinski
 * CISS 241
 * Spiderman Database Part 3: Accesses the database and does a couple queries to get some data to be formatted and printed
 * out to the console. The first query gets the ComicName, IssueDate, IssueNumber, and IssueValue from all comics that have 
 * a value of 5 or more and then prints them out to the console. The second query gets the IssueName, ComicName, IssueNumber,
 * and IssueDate from all the comics that have a ComicName of Amazing SM and an IssueNumber less than 200 and then it prints them out to the console.
 */

import java.sql.*;

public class SpidermanP3 
{
	public static void main (String[] arg)
	{
		Connection con;
		Statement stmt;
		
		try 
		{
			//Connecting to the table
			con = DriverManager.getConnection("jdbc:derby:spidermanDerby");
			stmt = con.createStatement();
			
			//First query
			ResultSet rs = stmt.executeQuery("select ComicName, IssueDate, IssueNumber, IssueValue from spidermanDerby " + 
			"where IssueValue >= 5.0 order by IssueValue DESC");
			
			//Printing the column names for the first query
			System.out.println("First Query:");
			System.out.printf("|%-20s|%-12s|%-10s|%-11s|\n", "Comic Name", "Issue Number", "Issue Date", "Issue Value");
			System.out.println("|--------------------|------------|----------|-----------|");
			
			//Printing the results of the first query
			while(rs.next())
			{
				String comicName = rs.getString("ComicName");
				int issueNumber = rs.getInt("IssueNumber");
				String issueDate = rs.getString("IssueDate");
				double issueValue = rs.getDouble("IssueValue");
				
				String valueFormatted = String.format("$%.2f", issueValue);
				
				//Formatting the results and printing them out
				System.out.printf("|%-20s|%12d|%10s|%11s|\n", comicName, issueNumber, issueDate, valueFormatted);
			}
			
			//Second query
			rs = stmt.executeQuery("select IssueName, ComicName, IssueNumber, IssueDate from spidermanDerby " +
			"where ComicName = 'Amazing SM' and IssueNumber < 200");
			
			//Printing the column names for the second query
			System.out.println("\nSecond Query:");
			System.out.printf("|%-20s|%-12s|%-10s|%-40s|\n", "Comic Name", "Issue Number", "Issue Date", "Issue Name");
			System.out.println("|--------------------|------------|----------|----------------------------------------|");
			
			//Printing the results of the second query
			while(rs.next())
			{
				String issueName = rs.getString("IssueName");
				String comicName = rs.getString("ComicName");
				int issueNumber = rs.getInt("IssueNumber");
				String issueDate = rs.getString("IssueDate");
				
				//Formatting the results and printing them out
				System.out.printf("|%-20s|%12d|%10s|%-40s|\n", comicName, issueNumber, issueDate, issueName);
			}
			
			stmt.close();
			con.close();
			System.exit(0);
		} 
		catch(SQLException e)
		{
			System.out.println("SQLException");
			System.out.println(e.getMessage());
			e.printStackTrace();
		}
	}
}