# MySQL: Login-Problem: No suitable Driver



## ghost (28. Sep 2004)

Ich versuche mit folgendem Programmteil eine Verbindung zur MySQL-DB zu erstellen:

```
ActionListener AL = new ActionListener(){
			public void actionPerformed(ActionEvent e){
				Connection conn =  null;
				meld.setText("Versuch");
				try{
					meld.setText("Test");
					Class.forName("org.gjt.mm.mysql.Driver");
					meld.setText("Treiber wird geladen");
				}
				catch(ClassNotFoundException cnfs){
				
				meld.setText("Class not Found");
				{
				meld.setText("Treiber konnte nicht geladen werden");
				}
		try{
			conn = DriverManager.getConnection("jdbc:mysql://"+ tfhost.getText() + ":" + "shanor",tfuser.getText(), tfpass.getText());
			meld.setText("Verbindungsaufbau");}
				catch(SQLException sqle){
					meld.setText("Verbindung fehlgeschlagen: " + sqle.getMessage());}
				
					};
};
};
}
```
Beim Compilieren tritt kein Fehler auf. Beim Ablauf des Programms kommt immer die Fehlermeldung ( über die Codezeile: meld.setText(Verbindung fehlgeschlagen:" + sqle.getMessage() ) no suitable driver found. Am Treiber kanns jedoch nicht ( oder zumindest direkt ) liegen; da ich ehe ich dieses Programm schrieb alles in einem einfachen Programm ( Anmeldung in DB und DB-Abfrage in einer großen Klasse ) getestet habe und hier alles funktionierte.
Was muß ich ändern um mich einloggen zu können?


----------



## DP (28. Sep 2004)

das problem ist in den FAQs ausgiebig erläutert worden.

look there.

cu


----------



## ghost (29. Sep 2004)

Ich hab zwar jetzt daran gearbeitet ( nach FAQ - Schau ) jedoch wirds nur noch schlimmer. Jetzt bekomme ich eine ellenlange Fehlermeldung ( siehe Anhang ). Anscheinend hat das Programm jetzt Probleme wenn es auf den JDBC-Treiber stößt, da es bis dahin nomal läuft und mir dann die Fehlermeldung ausgibt.

Fehlermeldung:
        at java.awt.Component.processMouseEvent(Component.java:5134)
        at java.awt.Component.processEvent(Component.java:4931)
        at java.awt.Container.processEvent(Container.java:1566)
        at java.awt.Component.dispatchEventImpl(Component.java:3639)
        at java.awt.Container.dispatchEventImpl(Container.java:1623)
        at java.awt.Component.dispatchEvent(Component.java:3480)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)

        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
        at java.awt.Container.dispatchEventImpl(Container.java:1609)
        at java.awt.Window.dispatchEventImpl(Window.java:1590)
        at java.awt.Component.dispatchEvent(Component.java:3480)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:197)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:150)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
Press any key to continue...

-->Den ganzen Fehlertext krieg ich leider nicht angezeigt. Bei meinen Recherchen in Foren bin ich aber auf eine ähnliche Fehlermeldung gestoßen. Leider war auch dort keine Antwort für mein Problem zu finden ( anbei, die besagte Meldung ).

java.lang.NullPointerException
        at fenster.abschicken_entlassen_actionPerformed(fenster.java:492)
        at fenster$12.actionPerformed(fenster.java:237)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:17
86)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1839)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:245)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:2
31)
        at java.awt.Component.processMouseEvent(Component.java:5100)
        at java.awt.Component.processEvent(Component.java:4897)
        at java.awt.Container.processEvent(Container.java:1569)
        at java.awt.Component.dispatchEventImpl(Component.java:3615)
        at java.awt.Container.dispatchEventImpl(Container.java:1627)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)

        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
        at java.awt.Container.dispatchEventImpl(Container.java:1613)
        at java.awt.Window.dispatchEventImpl(Window.java:1606)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:201)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:151)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.NullPointerException
        at fenster.abschicken_entlassen_actionPerformed(fenster.java:492)
        at ActionListener.actionPerformed(fenster.java:660)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:17
86)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1839)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:245)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:2
31)
        at java.awt.Component.processMouseEvent(Component.java:5100)
        at java.awt.Component.processEvent(Component.java:4897)
        at java.awt.Container.processEvent(Container.java:1569)
        at java.awt.Component.dispatchEventImpl(Component.java:3615)
        at java.awt.Container.dispatchEventImpl(Container.java:1627)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)

        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
        at java.awt.Container.dispatchEventImpl(Container.java:1613)
        at java.awt.Window.dispatchEventImpl(Window.java:1606)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:201)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:151)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)


----------



## akira (29. Sep 2004)

> Fehlermeldung:
> at java.awt.Component.processMouseEvent(Component.java:5134)
> at java.awt.Component.processEvent(Component.java:4931)
> at java.awt.Container.processEvent(Container.java:1566)
> ......



Welche Exception war`s denn, Du hast nur den Stacktrace gepostet.

Der Fehler scheint übrigens nichts mit dem Datenbank-Treiber zu tun zu haben.


----------



## ghost (30. Sep 2004)

Die konkrete Fehlermeldung kann ich leider nicht anzeigen, da mein Prog ( JCreator - normal mit java ... funzt auch nicht ) nur den angegebenen Teil anzeigt. Bei meiner Internetrecherche bin ich jedoch auf die ebenfalls angegene Fehlermeldung ( siehe Null Pointer Exception ) gestoßen, die wie meine aussieht. 

Zur Info poste ich noch den Quelltext ( ist für ein Programme mit dem man sich bei MySQL anmelden kann und dann verschiedene Befehle an die DB schicken kann ).


```
ActionListener AL = new ActionListener(){
			public void actionPerformed(ActionEvent e){
				Connection conn =  null;
				meld.append(/n + "Versuch");
				try{
					meld.append(/n+"Test");
					Class.forName("org.gjt.mm.mysql.Driver");
					meld.append("Treiber wird geladen");
				}
				catch(ClassNotFoundException cnfs){
				meld.append("Class not Found");
				}
		try{
			conn = DriverManager.getConnection("jdbc:mysql://"+ tfhost.getText() + ":"+ tfport.getText() +"/shanor", tfuser.getText(), tfpass.getText());
			meld.append("Verbindungsaufbau");}
				catch(SQLException sqle){
					meld.append("Verbindung fehlgeschlagen: " + sqle.getMessage());}
				
					};
};
};
```


----------



## Der Papa (3. Okt 2004)

Hi ghost,

lass Dich von der Meldung: 





> no suitable driver found


 nicht beirren. Es kann sich bei dieser Fehlermeldung auch um eine Falsche Url handeln. Das geliche Problem hatte ich auch schon, genau dann wenn ich eine die Connection vom DriverManager holen will. 

Wenn ich mir Deine Url so ansehe, dann glaube ich auch, dass es daran liegt.
Wenn shanor dein Datenbankname sein soll, dann kommt hinter dem Hostname  z.B. kein Doppelpunkt sondern ein Slash.
Falls shanor nicht die Datenbank sein sollte, dann fehlt diese auf jeden fall.

Hier ein Auszug aus der Dokumentation:

The JDBC URL format for MySQL Connector/J is as follows, with items in square brackets ([, ]) being optional:

   jdbc:mysql://[host][,failoverhost...][ort]/[database][?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

If the hostname is not specified, it defaults to '127.0.0.1'. If the port is not specified, it defaults to '3306', the default port numb er for MySQL servers.
Starting with version 3.0.12 and 3.1.2, Connector/J supports multiple hosts with ports, separated by commas:

   jdbc:mysql://[hostort],[hostort].../[database][?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

Diese Antwort bezieht sich auf  deine erstes Posting.

Gruß, Tom.


----------



## ghost (4. Okt 2004)

Ich hab jetzt an dem Prog weitergearbeitet und krieg jetzt immer die Fehlermeldung no suitable driver found. Ich hab schon gelesen, das es wohl an der URL - Beschreibung liegt. Leider find ich den Fehler nicht. Wie ihr im folgenden Quelltext sehen könnt hab ich zwei verschiedene Versionen gemacht ( siehe auskommentierung ). Bei der Auskommentierten Version bekomm ich im meld ( JTextArea) den constring und dann die Fehlermeldung Verbindung fehlgeschlagen: no suitable driver.
Ansonsten kommen die Meldungen: Class not found und Verbindung fehlgeschlagen: no suitable driver

Meine Frage ist nun: Was mach ich falsch?

```
ActionListener AL = new ActionListener(){
         public void actionPerformed(ActionEvent e){
            Connection conn =  null;
            meld.append("\n"+"Button gedrückt");
            try{
               meld.append("\n"+"Treiber laden");
               Class.forName("org.gjt.mm.mysql.Driver");//.newInstance();
               meld.append("Treiber wird geladen");
            }
            catch(ClassNotFoundException cnfs){
            meld.append("\n" + "Class not Found");
            }
      try{
         
          //String connstr = "jdbc:mysql://localhost/mysql";
          //meld.append("\n" + connstr);
          //conn = DriverManager.getConnection(connstr, "root", "");
         conn = DriverManager.getConnection("jdbc:mysql://"+ tfhost.getText() + ":"+ tfport.getText() +"/shanor", tfuser.getText(), tfpass.getText());
         meld.append("\n" + "Verbindungsaufbau");}
            catch(SQLException sqle){
               meld.append("\n" + "Verbindung fehlgeschlagen: " + sqle.getMessage());}
            
               };
};
};
```


----------



## Bleiglanz (5. Okt 2004)

OK dein Treiber wurde geladen

=> nimm lieber com.mysql.jdbc.Driver (ist glaube ich moderner als der gjt)

die richtige URL jdbc:mysql://localhost/namederdb scheinst du ja zu verwenden, deshalb ist das etwas komisch? Welchen Treiber nimmst du eigentlich [z.B. mysql-connector-java-3.0.6-stable-bin.jar]?


----------



## ghost (5. Okt 2004)

Als Treiber hab ich Mysql - connector - java - 3.1.3 beta !?!?!?


----------



## thE_29 (5. Okt 2004)

warum verwendest du net den orig. treiber den mysql zur verfügung stellt, sondern irgendetwas anderes?? 
tztztzz


----------



## ghost (5. Okt 2004)

Hab ich doch ( damals wars halt 3.1.3 jetzt schon 3.1.4)?

siehe: http://dev.mysql.com/downloads/connector/j/3.1.html

Liegt es vielleicht am classpath? Ich ( win98) setze ihn in autoexec.bat :set CLASSPATH = C:\Projekt\graphics\jdbc\mysql-connector-java-3.1.3-beta; 

Den Connector hab ich mir downgeloadet ( s.o.) und entsprechend entpackt und in das Verzeichnis c:\Projekt\ ( siehe classpath ) getan.


----------



## ghost (6. Okt 2004)

Ich habe das ganze jetzt an einem Beispielprogramm ausprobiert. Das komische war, das das Beispielprogramm funktioniert hat und meins nicht. Ich habe danach auch den entsprechenden Teil ( startdriver ) in mein Prog eingebaut und es hat wieder nicht funktioniert ( mit dem oben genannten Fehler ). Wieso geht das eine Prog und das andere nicht?

Beispielprog

```
import java.sql.*;

public class connect1{
	static void startdriver(){
		try{
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			System.out.println("OK");
			}
			catch (Exception ex){
				System.out.println(ex);
				};
				}
				
		static Connection getconnection(){
			Connection conn = null;
			try{
				String connstr = "jdbc:mysql://localhost/mysql";
				conn = DriverManager.getConnection(connstr, "root", "");
				}
				catch (SQLException ex){
					System.out.println("SQLException: "+ex.getMessage());
					System.out.println("SQLState: "+ex.getSQLState());
					System.out.println("VendorError: "+ex.getErrorCode());
					System.exit(0);
					};
					return conn;
					}
					
			static void execstmt(Connection conn, Statement stmt, String select){
				ResultSet rs = null;
				ResultSetMetaData rsmeta = null;
				int i = 0;
				try{
					stmt = conn.createStatement();
					System.out.println(stmt);
					if (stmt.execute(select)){
						rs = stmt.getResultSet();
						};
						try{
							if (rs != null){
								rsmeta = rs.getMetaData();
								i = rsmeta.getColumnCount();
								System.out.println("Anzahl Spalten: "+i);
								for ( int ii=1; ii<=i; ii++){
									System.out.println(
										rsmeta.getColumnLabel(ii)+" "+rsmeta.getColumnName(ii)+" "+rsmeta.getColumnType(ii)+" "+rsmeta.getColumnTypeName(ii));
										};
										};
										System.out.println("1");
								System.out.println("2");
						while (rs.next()){
							String row = "";
							for ( int ii=1; ii<=i; ii++){
								row = row+ " "+rs.getString(ii);
								};
								System.out.println(row);
								};
								}
								catch (SQLException ex){
									System.out.println("SQLException: "+ex.getMessage());
									System.out.println("SQLState: "+ex.getSQLState());
									System.out.println("VendorError: "+ex.getErrorCode());
									System.exit(0);
									}
									finally{
										if (rs != null){
											try{rs.close();}
											catch (SQLException sqlEx){System.out.println(sqlEx);};
											rs = null;
											};
											};
											}
											catch (SQLException ex){
											System.out.println("SQLException: "+ex.getMessage());
									System.out.println("SQLState: "+ex.getSQLState());
									System.out.println("VendorError: "+ex.getErrorCode());
									System.exit(0);
									}
									finally{
										if (stmt != null){
											try{stmt.close();}
											catch (SQLException sqlEx){System.out.println(sqlEx);};
											stmt = null;
											};
											};
											}
											
								public static void main(String[] args){
									startdriver();
									Connection conn = getconnection();
									
									Statement stmt = null;
									int i = 0;
									String select = "select user, host, password from user";
									execstmt(conn, stmt, select);
									System.out.println(stmt);
									select = "describe user";
									execstmt(conn, stmt, select);
									System.out.println(stmt);
									}
									}
```


----------



## ghost (9. Okt 2004)

Ich habe jetzt weiter versucht das Prog zum laufen zu kriegen. Das beste was ich aber hingekriegt habe ist ein java.lang.ClassNotFoundException wenn ich denn Treiber laden möchte. Da ich nun das funktionierende Beispielprog zu 100% übernommen habe frage ich mich ob das ganze etwas mit dem restlichen Prog zu tun hat. Aus diesem Grund poste ich hier mal das ganze Teil.


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import graphics.*;
import java.sql.*;



public class Main{
	public static void main (String [] args){

	JFrame fenster = new Connn();
	fenster.setSize(700,550);
	
	JMenuBar mbar = new JMenuBar();
	JMenu prog = new JMenu("Programm");
	mbar.add(prog);
	fenster.setJMenuBar(mbar);
	JMenuItem info = new JMenuItem("Info");
	prog.add(info);
	//info.addActionListener(Alinfo);
	JMenuItem end = new JMenuItem("Beenden");
	prog.add(end);
	//end.addActionListener(Alend);
	JMenu sql = new JMenu("MySQL");
	mbar.add(sql);
	JMenuItem befehl = new JMenuItem("Befehl");
	sql.add(befehl);
	//befehl.addActionListener(Albefehl);
	JMenu help = new JMenu("Hilfe");
	mbar.add(help);
	JMenuItem hilfe = new JMenuItem("Hilfe");
	help.add(hilfe);
	//hilfe.addActionListener(Alhilfe);
	
	WindowListener l = new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
		};
	fenster.addWindowListener(l);
	//fenster.pack();
	fenster.setVisible(true);

}
}
```


```
package graphics;
//import connection.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.sql.*;

public class Connn extends JFrame{
	private JTextField tfuser = new JTextField();
	private JPasswordField tfpass = new JPasswordField();
	private JTextField tfport = new JTextField();
	private JTextField tfhost = new JTextField();
	private JTextArea meld = new JTextArea();
	
	public Connn(){
	    super("MySQL - Connector");
	    
		JPanel pan = new JPanel();
		pan.setLayout(new GridBagLayout());
		pan.setBackground(Color.white);
				
		JLabel lab = new JLabel();
		//lab.setLayout(gb);
		lab.setOpaque(true);
		lab.setBackground(Color.blue);
		lab.setForeground(Color.red);
		lab.setFont(new Font("Helvetica", Font.BOLD, 24));
		lab.setText("MySQL - Connector Version 0.1");
		pan.add(lab, new GridBagConstraints(0,0,1,1,0.0,0.5,
			GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0,0,0,0), 1, 1));
		//pan.add(lab);
		
		JLabel lab5 = new JLabel();
		//lab.setLayout(gb);
		lab5.setOpaque(true);
		lab5.setBackground(Color.blue);
		lab5.setForeground(Color.black);
		lab5.setFont(new Font("Helvetica", Font.PLAIN, 21));
		lab5.setText("Schnittstelle zu MySQl - Datenbanken");
		pan.add(lab5, new GridBagConstraints(0,1,1,0,0.0,0.5,
			GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0,0,0,0),1,1));
			
		
		
		JPanel pan2 = new JPanel();
		pan2.setLayout(new GridBagLayout());
		//pan.setBackground(Color.green);
		
		JLabel lab2 = new JLabel();
		//lab2.setLayout(gb);
		lab2.setOpaque(true);
		lab2.setForeground(Color.black);
		lab2.setFont(new Font("Helvetica", Font.PLAIN, 18));
		lab2.setText("Username: ");
			pan2.add(lab2, new GridBagConstraints(0,0,1,1,1.0,1.0,
			GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0,0,0,0), 1, 1));
		//pan2.add(lab2);
		
		
		tfuser.setFont(new Font("Helvetica", Font.BOLD, 18));
		//String user = tfuser.getText();
			pan2.add(tfuser, new GridBagConstraints(1,0,1,1,1.0,1.0,
			GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
		
		JLabel lab3 = new JLabel();
		//lab3.setLayout(gb);
		lab3.setOpaque(true);
		lab3.setForeground(Color.black);
		lab3.setFont(new Font("Helvetica", Font.PLAIN, 18));
		lab3.setText("Passwort: ");
		pan2.add(lab3, new GridBagConstraints(0,1,1,1,1.0,1.0,
			GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
		//pan2.add(lab3);
		
		
		tfpass.setFont(new Font("Helvetica", Font.BOLD, 18));
		//String password = tfpass.getText();
			pan2.add(tfpass, new GridBagConstraints(1,1,1,1,1.0,1.0,
			GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
		
		JLabel lab4 = new JLabel();
		lab4.setOpaque(true);
		lab4.setText("DB - Host: ");
		lab4.setFont(new Font("Helvetica", Font.PLAIN, 18));
			pan2.add(lab4, new GridBagConstraints(0,2,1,1,1.0,1.0,
			GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0,0,0,0), 1,1));
			
		
		tfhost.setFont(new Font("Helvetica", Font.BOLD, 18));
		//String host = tfhost.getText();
			pan2.add(tfhost, new GridBagConstraints(1,2,1,1,1.0,1.0,
			GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
			
		JLabel lab6 = new JLabel();
		lab6.setOpaque(true);
		lab6.setText("DB - Port: ");
		lab6.setFont(new Font("Helvetica", Font.PLAIN, 18));
			pan2.add(lab6, new GridBagConstraints(0,3,1,1,1.0,1.0,
			GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
		
		
		tfport.setFont(new Font("Helvetica", Font.BOLD, 18));
			pan2.add(tfport, new GridBagConstraints(1,3,1,1,1.0,1.0,
			GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
			
		
		JButton but = new JButton();
		but.setText("Verbinden");
		but.setBackground(Color.green);
		but.addActionListener(AL);
			pan2.add(but, new GridBagConstraints(0,4,1,1,1.0,1.0,
			GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
			
		JButton but1 = new JButton();
		but1.setText("Verbindung beenden");
		but1.setBackground(Color.red);
		//ActionListener but = new AL();
			pan2.add(but1, new GridBagConstraints(1,4,1,1,1.0,1.0,
			GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
			
		JPanel pan3 = new JPanel();
		pan3.setLayout(new GridBagLayout());
			//JTextField meld = new JTextField();
			meld.setFont(new Font("Helvetica", Font.BOLD, 12));
			JScrollPane scroll = new JScrollPane(meld);
			pan3.add(scroll, new GridBagConstraints(0,0,1,1,1.0,1.0,
				GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
			//pan3.add(new JScrollPane(meld));
			//pan3.add(meld );/*, new GridBagConstraints(0,0,1,1,1.0,1.0,
			//GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));*/
			
					
			this.getContentPane().setLayout(new GridBagLayout());
			this.getContentPane().add(pan, new GridBagConstraints(0,0,1,1,1.0,1.0, 
				GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
			this.getContentPane().add(pan2, new GridBagConstraints(0,1,1,1,1.0,1.0,
				GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
			this.getContentPane().add(pan3, new GridBagConstraints(0,2,1,1,1.0,1.0, 
				GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(0,0,0,0),1,1));
				
		}
		ActionListener AL = new ActionListener(){
			public void actionPerformed(ActionEvent e){
				//Connection conn =  null;
				meld.append("\n"+"Button gedrückt");
			/*	try{
					meld.append("\n"+"Treiber laden");
					Class.forName("com.mysql.jdbc.Driver");//.newInstance();
					//Class.forName("org.gjt.mm.mysql.Driver");
					meld.append("Treiber wird geladen");
				}
				catch(ClassNotFoundException cnfs){
				meld.append("\n" + "Class not Found");
				}
		try{
			 
			 String connstr = "jdbc:mysql://localhost/mysql";
			 meld.append("\n" + connstr);
			 conn = DriverManager.getConnection(connstr, "akriege", "sierra");
			//conn = DriverManager.getConnection("jdbc:mysql://"+ tfhost.getText() + ":"+ tfport.getText() +"/shanor", tfuser.getText(), tfpass.getText());
			meld.append("\n" + "Verbindungsaufbau");}
				catch(SQLException sqle){
					meld.append("\n" + "Verbindung fehlgeschlagen: " + sqle.getMessage());}*/
				try{
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			System.out.println("OK");
			}
			catch (Exception ex){
				System.out.println(ex);
				};
				}
				
		 Connection getconnection(){
			Connection conn = null;
			try{
				String connstr = "jdbc:mysql://localhost/mysql";
				conn = DriverManager.getConnection(connstr, "root", "");
				}
				catch (SQLException ex){
					System.out.println("SQLException: "+ex.getMessage());
					System.out.println("SQLState: "+ex.getSQLState());
					System.out.println("VendorError: "+ex.getErrorCode());
					System.exit(0);
					};
					return conn;
					}
		 void execstmt(Connection conn, Statement stmt, String select){
				ResultSet rs = null;
				ResultSetMetaData rsmeta = null;
				int i = 0;
				try{
					stmt = conn.createStatement();
					System.out.println(stmt);
					if (stmt.execute(select)){
						rs = stmt.getResultSet();
						};
						try{
							if (rs != null){
								rsmeta = rs.getMetaData();
								i = rsmeta.getColumnCount();
								System.out.println("Anzahl Spalten: "+i);
								for ( int ii=1; ii<=i; ii++){
									System.out.println(
										rsmeta.getColumnLabel(ii)+" "+rsmeta.getColumnName(ii)+" "+rsmeta.getColumnType(ii)+" "+rsmeta.getColumnTypeName(ii));
										};
										};
										System.out.println("1");
								System.out.println("2");
						while (rs.next()){
							String row = "";
							for ( int ii=1; ii<=i; ii++){
								row = row+ " "+rs.getString(ii);
								};
								System.out.println(row);
								};
								}
								catch (SQLException ex){
									System.out.println("SQLException: "+ex.getMessage());
									System.out.println("SQLState: "+ex.getSQLState());
									System.out.println("VendorError: "+ex.getErrorCode());
									System.exit(0);
									}
									finally{
										if (rs != null){
											try{rs.close();}
											catch (SQLException sqlEx){System.out.println(sqlEx);};
											rs = null;
											};
											};
											}
											catch (SQLException ex){
											System.out.println("SQLException: "+ex.getMessage());
									System.out.println("SQLState: "+ex.getSQLState());
									System.out.println("VendorError: "+ex.getErrorCode());
									System.exit(0);
									}
									finally{
										if (stmt != null){
											try{stmt.close();}
											catch (SQLException sqlEx){System.out.println(sqlEx);};
											stmt = null;
											};
											};
};};											};
```


----------



## foobar (9. Okt 2004)

Also bei mir wird keine Exception geworfen. Hast du denn dein Mysqltreiber auch in deine IDE respektive Classpath eingebunden?


----------

