MySQL Problem mit Datenbankanbindung an MySQL

bandy

Bekanntes Mitglied
Hallo,

ich habe ein Programm, mit welchem ich mich mit MySQL-Datenbank verbinden moechte.
Hier der Quelltext:

Java:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class ConnectExampleMySQL extends Object{
	public static Connection theConnection=null;
	private Statement stmt=null;
	private ResultSet result=null;
	public static void main(String[] args) {
		ConnectExampleMySQL ce=new ConnectExampleMySQL();
		
		String machineName=((args.length>=1)? args[0] : "localhost");
		ce.mysqlConnect( "", "", machineName);
		ce.query();
		try{
			theConnection.close();
			System.out.println("Verbindung wieder geschlossen.");
			System.exit(0);
		}catch(SQLException sqle){
			System.out.println("Fehler beim Schliessen.");
			System.exit(-1);
		}
	}//Ende main()

	private void query() {
		int maxPreis=0;
		try{
			stmt=theConnection.createStatement();
			result=stmt.executeQuery("SELECT id, preis FROM artikel");
			int id, preis;
			while(result.next()){
				id=result.getInt("id");
				preis=result.getInt(2);
				System.out.println("Der Preis fuer Produkt "+id+" betraegt: "+preis);
				if(preis>maxPreis)maxPreis=preis;
			}
		}catch(SQLException sqle){
			System.out.println("\nDer maximale Preis betraegt : "+maxPreis);
		}
		
	}//Ende Methode


	private void mysqlConnect(String userID, String password, String machineName) {
		if(theConnection==null){
			try {
				Class.forName("org.gjt.mm.mysql.Driver");
				String connectionURL="jdbc:mysql://"+machineName+":3306/dbdemo";
				theConnection=DriverManager.getConnection(connectionURL, userID, password);
			}catch (ClassNotFoundException cnfe) {
				System.out.println("ClassNotFoundException."+cnfe.getMessage());		
			}catch (SQLException sqle) {
				System.out.println("SQLException."+sqle.getMessage());		
			}
		}else{
			System.out.println("Die DB-Verbindung exestiert bereits.");	
		}		
	}//Ende Methode
	
	
public void insert(){
	try{
		int rueck=stmt.executeUpdate("INSERT INTO abteilung (id, name, leiterID)"+ "VALUES (111, 'Zentralverkauf', 501)");
		System.out.println("Rueckgabe von executeUpdate nach INSERT: "+rueck);
	}catch(SQLException sqle){
		System.out.println(sqle.toString());
	}
}//Ende Methode


public void delete(){
	try{
		int rueck=stmt.executeUpdate("DELETE FROM abteilung WHERE name='Zentralverkauf'");
		System.out.println("Rueckgabe von executeUpdate nach DELETE: "+rueck);
	}catch(SQLException sqle){
		System.out.println(sqle.toString());
	}
}//Ende Methode
}

Leider bringt es folgende Fehlermeldung:

Code:
ClassNotFoundException.org.gjt.mm.mysql.Driver
Exception in thread "main" java.lang.NullPointerException
	at ConnectExampleMySQL.query(ConnectExampleMySQL.java:30)
	at ConnectExampleMySQL.main(ConnectExampleMySQL.java:16)

Ich sollte zuvor aber die CLASSPATH-Variable unter Systemsteuerung, System, System Properties, Environment Variables erzeugen. Dort gibt es aber unter Vista im Dialog zwei Varianten, einmal die Benutzervariable zu erzeugen und Systemvariable. Als Name der Variable soll ich CLASSPATH waehlen und folgenden Wert uebergeben:

Code:
.;C:\mysql-connector-java-3.0.14-production\mysql-connector-java-3.0.14-production\mysql-connector-java-3.0.14-production-bin.jar; c:\Java\eigeneKlassen

Das habe ich getan und zwar als Benutzervariable und als Systemvariable und die jar-Datei auch unter diesem Pfad abgelegt:
.;C:\mysql-connector-java-3.0.14-production\mysql-connector-java-3.0.14-production\mysql-connector-java-3.0.14-production-bin.jar

und auch dieses Verzeichnis angelegt:

c:\Java\eigeneKlassen


aber erfolglos. Das Programm starte ich mit Eclipse.

Hat jemand Ahnung wo das Problem liegt? :bahnhof::rtfm:
 
Classpath in der Systemsteuerung?
in-Eclipse-(Java[/url])

Ja so steht es bei uns im Studienheft

Anhang anzeigen 3628




Das ist mir schon bekannt, dass man das so anbinden kann, aber da es so beschrieben im Heft steht, habe nicht gedacht dass die darauf hinaus wollen. Aber Danke fuer schnelle Hilfe.:applaus::toll:
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben