You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

833 lines
22 KiB

package de.hs_fulda.ciip.projjpn;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Games {
private String databaseURL = "jdbc:ucanaccess://GamesDB.accdb";
public boolean checkConnection() {
try {
Connection connection = DriverManager.getConnection(databaseURL);
connection.close();
return true;
} catch (SQLException e) {
return false;
}
}
public String checkConsoles() {
String result = "";
String query = "SELECT Game_Console FROM Games";
boolean ninSwitch = false;
boolean xbox = false;
boolean multiplat = false;
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameConsole = resultSet.getString("Game_Console");
if (ninSwitch && gameConsole.equals("Nintendo Switch")) {
continue;
} else if (xbox && gameConsole.equals("Xbox")) {
continue;
} else if (multiplat && gameConsole.equals("Multiplatform")) {
continue;
}
switch (gameConsole) {
case "Nintendo Switch":
ninSwitch = true;
break;
case "Xbox":
xbox = true;
break;
case "Multiplatform":
multiplat = true;
break;
}
result += gameConsole + ", ";
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkAllSamePublishers() {
String result = "";
String query = "SELECT Game_Name, Game_Publisher_EU, Game_Publisher_JP, Game_Publisher_NA FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gamePublisherEu = resultSet.getString("Game_Publisher_EU");
String gamePublisherJp = resultSet.getString("Game_Publisher_JP");
String gamePublisherNa = resultSet.getString("Game_Publisher_NA");
if (gamePublisherEu.equals(gamePublisherJp) && gamePublisherJp.equals(gamePublisherNa)
&& gamePublisherEu.equals(gamePublisherNa)) {
result += gameName + ", ";
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkAllDifferentPublishers() {
String result = "";
String query = "SELECT Game_Name, Game_Publisher_EU, Game_Publisher_JP, Game_Publisher_NA FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gamePublisherEu = resultSet.getString("Game_Publisher_EU");
String gamePublisherJp = resultSet.getString("Game_Publisher_JP");
String gamePublisherNa = resultSet.getString("Game_Publisher_NA");
if (!gamePublisherEu.equals(gamePublisherJp) && !gamePublisherJp.equals(gamePublisherNa)
&& !gamePublisherEu.equals(gamePublisherNa)) {
result += gameName + ", ";
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkAllDifferentPublishersDeveloper() {
String result = "";
String query = "SELECT Game_Name, Game_Developer, Game_Publisher_EU, Game_Publisher_JP, Game_Publisher_NA FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameDeveloper = resultSet.getString("Game_Developer");
String gamePublisherEu = resultSet.getString("Game_Publisher_EU");
String gamePublisherJp = resultSet.getString("Game_Publisher_JP");
String gamePublisherNa = resultSet.getString("Game_Publisher_NA");
if (gamePublisherEu.equals(gamePublisherJp) && gamePublisherJp.equals(gamePublisherNa)
&& gamePublisherEu.equals(gamePublisherNa) && gameDeveloper.equals(gamePublisherEu)
&& gameDeveloper.equals(gamePublisherJp) && gameDeveloper.equals(gamePublisherNa)) {
result += gameName + ", ";
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkAllSameReleaseDates() {
String result = "";
String query = "SELECT Game_Name, Game_Release_EU, Game_Release_JP, Game_Release_NA, Game_Release_AU FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameReleaseEu = resultSet.getString("Game_Release_EU");
String gameReleaseJp = resultSet.getString("Game_Release_JP");
String gameReleaseNa = resultSet.getString("Game_Release_NA");
String gameReleaseAu = resultSet.getString("Game_Release_AU");
if (gameReleaseAu == null) {
if (gameReleaseEu.equals(gameReleaseJp) && gameReleaseJp.equals(gameReleaseNa)
&& gameReleaseEu.equals(gameReleaseNa)) {
result += gameName + ", ";
}
} else {
if (gameReleaseEu.equals(gameReleaseJp) && gameReleaseJp.equals(gameReleaseNa)
&& gameReleaseEu.equals(gameReleaseNa) && gameReleaseAu.equals(gameReleaseEu)
&& gameReleaseAu.equals(gameReleaseJp) && gameReleaseAu.equals(gameReleaseNa)) {
result += gameName + ", ";
}
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkAllDifferentReleaseDates() {
String result = "";
String query = "SELECT Game_Name, Game_Release_EU, Game_Release_JP, Game_Release_NA, Game_Release_AU FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameReleaseEu = resultSet.getString("Game_Release_EU");
String gameReleaseJp = resultSet.getString("Game_Release_JP");
String gameReleaseNa = resultSet.getString("Game_Release_NA");
String gameReleaseAu = resultSet.getString("Game_Release_AU");
if (gameReleaseAu == null) {
if (!gameReleaseEu.equals(gameReleaseJp) && !gameReleaseJp.equals(gameReleaseNa)
&& !gameReleaseEu.equals(gameReleaseNa)) {
result += gameName + ", ";
}
} else {
if (!gameReleaseEu.equals(gameReleaseJp) && !gameReleaseJp.equals(gameReleaseNa)
&& !gameReleaseEu.equals(gameReleaseNa) && !gameReleaseAu.equals(gameReleaseEu)
&& !gameReleaseAu.equals(gameReleaseJp) && !gameReleaseAu.equals(gameReleaseNa)) {
result += gameName + ", ";
}
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkGameGenres() {
String result = "";
String query = "SELECT Game_Genre FROM Games";
boolean actAd = false;
boolean rpg = false;
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameGenre = resultSet.getString("Game_Genre");
if (actAd && gameGenre.equals("Action-Adventure")) {
continue;
} else if (rpg && gameGenre.equals("RPG")) {
continue;
}
switch (gameGenre) {
case "Action-Adventure":
actAd = true;
break;
case "RPG":
rpg = true;
break;
}
result += gameGenre + ", ";
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkGameGenreActionAdventure() {
String result = "";
String query = "SELECT Game_Name, Game_Genre FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameGenre = resultSet.getString("Game_Genre");
if (gameGenre.equals("Action-Adventure")) {
result += gameName + ", ";
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkGameGenreRPG() {
String result = "";
String query = "SELECT Game_Name, Game_Genre FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameGenre = resultSet.getString("Game_Genre");
if (gameGenre.equals("RPG")) {
result += gameName + ", ";
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkConsolePlayStation() {
String result = "";
String query = "SELECT Game_Name, Game_Console FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameConsole = resultSet.getString("Game_Console");
if (gameConsole.length() >= 11) {
if (gameConsole.substring(0, 11).equals("PlayStation")) {
result += gameName + ", ";
}
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkConsoleNintendo() {
String result = "";
String query = "SELECT Game_Name, Game_Console FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameConsole = resultSet.getString("Game_Console");
if (gameConsole.length() >= 8) {
if (gameConsole.substring(0, 8).equals("Nintendo")) {
result += gameName + ", ";
}
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkConsoleXbox() {
String result = "";
String query = "SELECT Game_Name, Game_Console FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameConsole = resultSet.getString("Game_Console");
if (gameConsole.length() >= 4) {
if (gameConsole.substring(0, 4).equals("Xbox")) {
result += gameName + ", ";
}
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkConsoleMultiplatform() {
String result = "";
String query = "SELECT Game_Name, Game_Console FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameConsole = resultSet.getString("Game_Console");
if (gameConsole.length() >= 13) {
if (gameConsole.substring(0, 13).equals("Multiplatform")) {
result += gameName + ", ";
}
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkConsoleNintendoSwitch() {
String result = "";
String query = "SELECT Game_Name, Game_Console FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameConsole = resultSet.getString("Game_Console");
if (gameConsole.equals("Nintendo Switch")) {
result += gameName + ", ";
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkDeveloperAtlus() {
String result = "";
String query = "SELECT Game_Name, Game_Developer FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameDeveloper = resultSet.getString("Game_Developer");
if (gameDeveloper.equals("Atlus")) {
result += gameName + ", ";
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkDevelopers() {
String result = "";
String query = "SELECT Game_Developer FROM Games";
boolean atlus = false;
boolean nintendoSpd = false;
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameDeveloper = resultSet.getString("Game_Developer");
if (atlus && gameDeveloper.equals("Atlus")) {
continue;
} else if (nintendoSpd && gameDeveloper.equals("Nintendo SPD")) {
continue;
}
switch (gameDeveloper) {
case "Atlus":
atlus = true;
break;
case "Nintendo SPD":
nintendoSpd = true;
break;
}
result += gameDeveloper + ", ";
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkPublisherNintendo() {
String result = "";
String query = "SELECT Game_Name, Game_Publisher_EU, Game_Publisher_JP, Game_Publisher_NA FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gamePublisherEu = resultSet.getString("Game_Publisher_EU");
String gamePublisherJp = resultSet.getString("Game_Publisher_JP");
String gamePublisherNa = resultSet.getString("Game_Publisher_NA");
if (gamePublisherEu.equals("Nintendo") || gamePublisherJp.equals("Nintendo")
|| gamePublisherNa.equals("Nintendo")) {
result += gameName + ", ";
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkPublisherSega() {
String result = "";
String query = "SELECT Game_Name, Game_Publisher_EU, Game_Publisher_JP, Game_Publisher_NA FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gamePublisherEu = resultSet.getString("Game_Publisher_EU");
String gamePublisherJp = resultSet.getString("Game_Publisher_JP");
String gamePublisherNa = resultSet.getString("Game_Publisher_NA");
if (gamePublisherEu.equals("Sega") || gamePublisherJp.equals("Sega")
|| gamePublisherNa.equals("Sega")) {
result += gameName + ", ";
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
public String checkPublishers() {
String result = "";
String query = "SELECT Game_Publisher_EU, Game_Publisher_JP, Game_Publisher_NA FROM Games";
boolean sega = false;
boolean atlus = false;
boolean sce = false;
boolean nintendo = false;
boolean namco = false;
boolean spikeChun = false;
boolean bandaiNamco = false;
boolean activision = false;
boolean whileSwitchOne = true;
boolean whileSwitchTwo = true;
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gamePublisherEu = resultSet.getString("Game_Publisher_EU");
String gamePublisherJp = resultSet.getString("Game_Publisher_JP");
String gamePublisherNa = resultSet.getString("Game_Publisher_NA");
while (whileSwitchOne) {
while (whileSwitchTwo) {
if (sega && gamePublisherEu.equals("Sega")) {
break;
} else if (atlus && gamePublisherEu.equals("Atlus")) {
break;
} else if (sce && gamePublisherEu.equals("Sony Computer Entertainment")) {
break;
} else if (nintendo && gamePublisherEu.equals("Nintendo")) {
break;
} else if (namco && gamePublisherEu.equals("Namco")) {
break;
} else if (spikeChun && gamePublisherEu.equals("Spike Chunsoft")) {
break;
} else if (bandaiNamco && gamePublisherEu.equals("Bandai Namco Games")) {
break;
} else if (activision && gamePublisherEu.equals("Activision")) {
break;
}
switch (gamePublisherEu) {
case "Sega":
sega = true;
break;
case "Atlus":
atlus = true;
break;
case "Sony Computer Entertainment":
sce = true;
break;
case "Nintendo":
nintendo = true;
break;
case "Namco":
namco = true;
break;
case "Spike Chunsoft":
spikeChun = true;
break;
case "Bandai Namco Games":
bandaiNamco = true;
break;
case "Activision":
activision = true;
break;
}
result += gamePublisherEu + ", ";
break;
}
if (sega && gamePublisherJp.equals("Sega")) {
break;
} else if (atlus && gamePublisherJp.equals("Atlus")) {
break;
} else if (sce && gamePublisherJp.equals("Sony Computer Entertainment")) {
break;
} else if (nintendo && gamePublisherJp.equals("Nintendo")) {
break;
} else if (namco && gamePublisherJp.equals("Namco")) {
break;
} else if (spikeChun && gamePublisherJp.equals("Spike Chunsoft")) {
break;
} else if (bandaiNamco && gamePublisherJp.equals("Bandai Namco Games")) {
break;
} else if (activision && gamePublisherJp.equals("Activision")) {
break;
}
switch (gamePublisherJp) {
case "Sega":
sega = true;
break;
case "Atlus":
atlus = true;
break;
case "Sony Computer Entertainment":
sce = true;
break;
case "Nintendo":
nintendo = true;
break;
case "Namco":
namco = true;
break;
case "Spike Chunsoft":
spikeChun = true;
break;
case "Bandai Namco Games":
bandaiNamco = true;
break;
case "Activision":
activision = true;
break;
}
result += gamePublisherJp + ", ";
break;
}
if (sega && gamePublisherNa.equals("Sega")) {
continue;
} else if (atlus && gamePublisherNa.equals("Atlus")) {
continue;
} else if (sce && gamePublisherNa.equals("Sony Computer Entertainment")) {
continue;
} else if (nintendo && gamePublisherNa.equals("Nintendo")) {
continue;
} else if (namco && gamePublisherNa.equals("Namco")) {
continue;
} else if (spikeChun && gamePublisherNa.equals("Spike Chunsoft")) {
continue;
} else if (bandaiNamco && gamePublisherNa.equals("Bandai Namco Games")) {
continue;
} else if (activision && gamePublisherNa.equals("Activision")) {
continue;
}
switch (gamePublisherNa) {
case "Sega":
sega = true;
break;
case "Atlus":
atlus = true;
break;
case "Sony Computer Entertainment":
sce = true;
break;
case "Nintendo":
nintendo = true;
break;
case "Namco":
namco = true;
break;
case "Spike Chunsoft":
spikeChun = true;
break;
case "Bandai Namco Games":
bandaiNamco = true;
break;
case "Activision":
activision = true;
break;
}
result += gamePublisherNa + ", ";
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
}