MySQL-Connection-Objekt übergeben

Wirbelwind

Mitglied
Hallo,

ich bin gerade dabei den Einstieg in Java zu wagen und habe da ein kleines Problem.

Es geht um die Verbindung zu einer MYSQL-Datenbank.
Meine Ausgangsklasse ist diese:

Java:
import java.sql.*;

public class TimeSheetBalance{

	Statement req;
	Connection con;
	

	//Login
	//Abgefragt werden Passwort und Nutzername
	
	
	//Datenbankverbindung herstellen
	
	public TimeSheetBalance(){
		
		DatabaseConnect Db = new DatabaseConnect();
		con = Db.connectToMysql(XXX, XXX, XXX, XXX);
		
		req = con.createStatement();
		
		ResultSet rs = req.executeQuery("SELECT * FROM staff");
		
		while(rs.next()){
			
			System.out.println(rs.getString(3));
		}
		
	}

Sinn der Sache ist klar: Die Instanz Db der Klasse DatabaseConnect erzeugt über die Methode connectToMysql eine Verbindung zur Datenbank und gibt diese Verbindung zurück.
Das sieht dann so aus:

Java:
import java.sql.*;

public class DatabaseConnect {

	Connection connection;

	public void DatabaseConnect(){
			
	}
	
	
	public Connection connectToMysql(String host, String database, String user, String pwd){
				
		try{
			Class.forName("com.mysql.jdbc.Driver").newInstance();
		
			String connectionCommand = "jdbc:mysql://"+host+"/"+database+"?user="+user+"&password="+pwd;
			
			connection = DriverManager.getConnection(connectionCommand);
			
		
		return connection;
		}
		

		
		catch (Exception ex){
			
			System.out.println("false");
			
		}

Tja, aber so einfach ist das leider nicht. Java sagt mir: "Unhandled exception type SQLException" bei req = con.createStatement();.

Eigentlich müsste das doch funktionieren, oder?
Habe ich irgendwas grundlegendes nicht verstanden? Was mache ich falsch?

Viele Grüße,

Wiwi
 
Zuletzt bearbeitet:
a)
Connection (Java Platform SE 6)
Throws:
SQLException - if a database access error occurs or this method is called on a closed connection

-> Da fehlt ein try catch! (das gleiche bei executeQuery, also vlt den Block um beides 😀)

b) connectToMysql lässt sich so doch gar nicht kompilieren oder? (verschiebe mal Zeile 22 nach unten)
 

Neue Themen


Zurück
Oben