Hallo,
ich bastle gerade an einer Datenkbankklasse zum Zugriff auf eine MySQL-Datenbank, sie sieht folgendermaßen aus:
Meine Probleme/Fragen:
-Würdet an diesem Herangehen etwas als grundsätzlich falsch bezeichnen, sprich ist etwas dabei, das man auf keinen Fall so machen sollte?
-Ich habe eine Funktion zum Aufbau der Verbindung, eine Funktion für Abfragen und eine zum Beenden der Verbindung. Ich wollte zu Beginn des Programms die Funktion OpenDB aufrufen, dann wenn ich Abfragen brauche die Funktion sql_query und beim Schließen des Programms close_db(). Dabei hab ich natürlich das Problem, dass das Connectionobjekt conn in der openDB erstellt wird und ich somit in der sql_query und in der close_db nicht darauf zugreifen kann, was aber nötig ist. Wie kann ich das umgehen?
Danke, Hannes
ich bastle gerade an einer Datenkbankklasse zum Zugriff auf eine MySQL-Datenbank, sie sieht folgendermaßen aus:
Code:
public class db {
public static void opendb( String host, String dbName, String dbUser, String dbPwd ) {
String port = "3306";
String dbType = "mysql";
String myDrivers =
"com.mysql.jdbc.Driver" +
":" +
"oracle.jdbc.driver.OracleDriver";
System.setProperty(
"jdbc.drivers",
myDrivers
);
try {
Class.forName(
"com.mysql.jdbc.Driver"
);
} catch ( Exception ex ) {
System.err.print( ex );
System.exit( 1 );
}
// Verbindung zur DB aufbauen
Connection conn = null;
String uri = "jdbc:" + dbType + "://" +
host + ":" + port + "/" +
dbName;
try {
conn = DriverManager.getConnection(
uri,
dbUser,
dbPwd
);
} catch ( Exception ex ) {
System.err.print( ex );
System.exit( 1 );
}
System.exit( 0 );
}
public void sql_query() {
... [Abfragen]
}
public void close_db() {
if ( conn != null ) {
try {
conn.close();
} catch ( Exception ign ) {}
}
}
}
Meine Probleme/Fragen:
-Würdet an diesem Herangehen etwas als grundsätzlich falsch bezeichnen, sprich ist etwas dabei, das man auf keinen Fall so machen sollte?
-Ich habe eine Funktion zum Aufbau der Verbindung, eine Funktion für Abfragen und eine zum Beenden der Verbindung. Ich wollte zu Beginn des Programms die Funktion OpenDB aufrufen, dann wenn ich Abfragen brauche die Funktion sql_query und beim Schließen des Programms close_db(). Dabei hab ich natürlich das Problem, dass das Connectionobjekt conn in der openDB erstellt wird und ich somit in der sql_query und in der close_db nicht darauf zugreifen kann, was aber nötig ist. Wie kann ich das umgehen?
Danke, Hannes