1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
|
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Derby {
/**
* Verbindung zur Datenbank
*/
Connection connection;
/**
* JDBC-Treiber-Name. Muss im Klassenpfad sein.
*/
static final String DRIVER
= "org.apache.derby.jdbc.EmbeddedDriver";
/**
* Verbindungs-URL. Erstellt beim ersten Aufruf eine neue Datenbank.
*/
static final String URL
= "jdbc:derby:c:/derbydbs/sampledb;create=true";
/**
* Verbindung zur Datenbank herstellen.
*/
public void connect() {
// Treiber laden
try {
Class.forName(DRIVER).newInstance();
} catch (Exception ex ) {
System.out.println("Der JDBC-Treiber konnte nicht " +
"geladen werden.");
System.exit(1);
}
// Verbindung herstellen
try {
connection = DriverManager.getConnection(URL);
} catch( SQLException ex ) {
System.out.println("Die Verbindung zur Datenbank konnte " +
"nicht hergestellt werden. " +
"Die Fehlermeldung lautet: " + ex.getMessage() );
System.exit(1);
}
}
/**
* Verbindung trennen
*/
public void disconnect() {
try {
if(connection != null && !connection.isClosed()) {
connection.close();
connection = null;
}
} catch( SQLException ex ) {
System.out.println("Die Verbindung zur Datenbank " +
"konnte nicht geschlossen werden. " +
"Die Fehlermeldung lautet: " + ex.getMessage() );
System.exit(1);
}
}
/**
* Alle Tabellennamen anzeigen
*/
public void showTables() {
String query = "select tablename from sys.systables";
String message = "Datenbankfehler. Die Fehlermeldung lautet: ";
Statement statement = null;
ResultSet resultSet = null;
try {
// Benötige Ressourcen für eine SQL-Anweisung bereitstellen
statement = connection.createStatement();
// Select-Anweisung ausführen
resultSet = statement.executeQuery(query);
// Alle Tabllennamen anzeigen
while(resultSet.next()) {
System.out.println(resultSet.getString(1));
}
} catch( SQLException ex ) {
System.out.println(message + ex.getMessage());
} finally {
// Alle Ressourcen wieder freigeben
if( resultSet != null ) {
try {
resultSet.close();
} catch( SQLException ex ) {
System.out.println(message + ex.getMessage());
}
}
if( statement != null ) {
try {
statement.close();
} catch( SQLException ex ) {
System.out.println(message + ex.getMessage());
}
}
}
}
public static void main(String[] args) {
Derby derby = new Derby();
derby.connect();
derby.showTables();
derby.disconnect();
}
}
|