# MySQL-Connection-Objekt übergeben



## Wirbelwind (11. Apr 2012)

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:


```
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:


```
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


----------



## eRaaaa (11. Apr 2012)

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)


----------



## Wirbelwind (11. Apr 2012)

Super, das hat funktioniert.

Habe den Code jetzt umstrukturiert. Das war die Lösung!!!


----------

