【发布时间】:2013-12-09 03:03:17
【问题描述】:
该程序将打开一个对话框,用户将在其中从 7 个选项中进行选择。根据所选的选项,我将使用 SQL 语句从数据库中提取数据并将其打印到屏幕上。
我想知道的是,我想在各自的方法中执行这些步骤,并且只需从 main() 调用它们,而不是使用非常大的 Switch 语句。我似乎无法弄清楚如何在不必为每个方法建立连接的情况下做到这一点。
import javax.swing.*;
import java.sql.*;
public class PC_05__PopulationDatabase {
public static void main(String[] args) throws SQLException {
final String DB_URL = "jdbc:derby:CityDB";
// List of actions
String[] arr = new String[7];
arr[0] = "1) Sort Cities by Population - ASCENDING ORDER";
arr[1] = "2) Sort Cities by Population - DESCENDING ORDER";
arr[2] = "3) Sort Cities by Name";
arr[3] = "4) Get Total Population of ALL Cities";
arr[4] = "5) Get Average Population of ALL Cities";
arr[5] = "6) Get Highest Population";
arr[6] = "7) Get Lowest Population";
try {
// Open Connection
Connection conn = DriverManager.getConnection(DB_URL);
System.out.println("Connection created to Population Database.");
// Statement and Result
Statement stmt = conn.createStatement();
String sqlStatement;
ResultSet result;
// Selection dialog
Object userAction = JOptionPane.showInputDialog(null, "Select an action: ", "Actions", JOptionPane.PLAIN_MESSAGE, null, arr, null);
String selection = userAction.toString();
int choice = Integer.parseInt(selection);
// Selection Actions
switch(choice) {
case 0:
break;
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
}
sqlStatement = "SELECT Description FROM Coffee";
result = stmt.executeQuery(sqlStatement);
// Close Connection
conn.close();
System.out.println("Connection closed.");
}
catch(Exception ex) {
System.out.println("ERROR: " + ex.getMessage());
}
}
public static void sortPopAscending() {
}
public static void sortPopDescending() {
}
public static void sortName() {
}
public static void totalPop() {
}
public static void avgPop() {
}
public static void highestPop() {
}
public static void lowestPop() {
}
}
【问题讨论】:
标签: java database methods static-methods derby