Ich mache ein Programm, um Daten in einer Datenbank zu speichern. Ich habe den Code erstellt, um eine Verbindung herzustellen, um alle verfügbaren Datenbanken zu lesen, aber jetzt möchte ich eine bestimmte aus den verfügbaren Datenbanken auswählen können. Könnte mir jemand helfen wie? Der folgende Punkt ist die Verbindung mit der Basis und der Liste der verfügbaren Datenbanken.
public static void main (String[] args) throws Exception {
try {
System.out.println("get the connection");
}
catch( Exception e )
{
System.out.println( "SQLException: " + e.getMessage() );
}
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/", "root", "root");
DatabaseMetaData meta = (DatabaseMetaData) con.getMetaData();
ResultSet res = meta.getCatalogs();
System.out.println("List of the databases: ");
while (res.next()){
System.out.println (" " +res.getString(1));
}
{
Scanner keyboard = new Scanner ( System.in);
System.out.println("Choose a database");
String theDatabase = keyboard.toString();
while (theDatabase )
{
System.out.println("Enter an existing database");
theDatabase = keyboard.toString();
}
System.out.println("You choose "+theDatabase);
}
Wie muss ich weitermachen? Ich möchte das Restprogramm mit der ausgewählten Datenbank fortsetzen. Was muss ich schreiben (theDatabase) ???
Antworten:
3 für die Antwort № 1Erstellen Sie mehrere Verbindungsobjekte für jede Datenbank wie
Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/", "root", "root");
Connection con1 = Create connection using oracle
if(theDatabase.equals("mysql"))
//use con
else
//use con2
oder
Connection con = null;
if(theDatabase.equals("mysql"))
con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/", "root", "root");
else
con = (Connection) DriverManager.getConnection(oracle);
Dann benutze
Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/"+theDatabase, "root", "root");
1 für die Antwort № 2
Sie können dem Tabellennamen den Datenbanknamen voranstellen. Wenn der Datenbankname beispielsweise DB1 und der Tabellenname TB1 ist, könnte Ihre Abfrage lauten
Wählen Sie * aus DB1.TB1 aus
1 für die Antwort № 3
Stellen Sie eine Verbindung zu der ausgewählten Datenbank her.
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/"+theDatabase, "root", "root");
// Do your code here
0 für die Antwort № 4
Um Ihre Datenbank auszuwählen, fügen Sie Ihren Dababasename hier ein:
Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/DatabaseName", "root", "root");