Statement (java.lang.NullPointerException)

DTH
08 de Marzo del 2005
Soy nuevo en JAVA, estoy haciendo una aplicaciñon que seleccione un dato de una tabla en un BD MySQL y me lo muestre en un campo de texto, pero no he podido avanzar por que obtengo una excepción cuando creo el Statement, le doy ex.toString() y me devuelve.

java.lang.NullPointerException

El query que estoy enviando está bién es un "select * from table" no entiendo por que ese error Envío el código Abajo y espero alguien me pueda ayudar.

1 Archivo.
basededatos.java
---------------------------------------------
import java.sql.*;

public class basededatos {
private String name = "";
private Connection conn = null;
private String sql = "";

/** Creates a new instance of basededatos */
public basededatos( String host, String user, String password, String BasedeDatos ) {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch ( Exception ex ){
System.out.print("Error al Cargar el drivern");
}
}
public boolean connect (){
try{
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mos1?user=root&password=");
} catch ( Exception ex ){
System.out.print("Error al conectar a la BDn");
return false;
}
return true;
}
public ResultSet query( String sql ){
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
} catch ( Exception ex ) {
System.out.print("Error al crear el Statement (" + ex.toString() + ")n");
}

try {
rs = stmt.executeQuery( sql );
} catch ( Exception ex ) {
System.out.print("Error al enviar queryn");
}

try {
if (stmt.execute( sql )) {
rs = stmt.getResultSet();
}
} catch ( Exception ex ){
System.out.print("Error al obtener el resultadon");
}
if (rs != null) {
if (stmt != null) {
stmt = null;
}
}
return rs;
}
}
---------------------------------------------

2 Archivo
prueba.java
---------------------------------------------
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;

public class prueba {
public static void main(String[] args) {
JFrame frame = new JFrame("HolaMundoSwing");
frame.getContentPane().setLayout(new BorderLayout());

final JTextArea areatexto = new JTextArea();
areatexto.setEditable(true);
frame.getContentPane().add( areatexto, BorderLayout.CENTER );

basededatos db = new basededatos ( "localhost", "root", "", "mos1" );
boolean conecto = db.connect();
if(!conecto){
areatexto.setText( areatexto.getText() + "No se conectó" );
} else {
areatexto.setText( areatexto.getText() + "Sí se conectó" );
}
ResultSet rs = db.query( "SELECT * FROM mos_users" );
String texto = null;
try{
rs.next();
areatexto.setText( areatexto.getText() + "nSi funcionó el rs.next()" );
} catch ( Exception ex ) {
areatexto.setText( areatexto.getText() + "nNo funcionó el rs.next()n" + ex.toString() );
}

try{
texto = rs.getString("name");
areatexto.setText( areatexto.getText() + "nSi funcionó el rs.getString()" );
} catch ( Exception ex ) {
areatexto.setText( areatexto.getText() + "nNo funcionó el rs.getString()" );
}

frame.addWindowListener(new java.awt.event.WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);

frame.pack();
frame.setLocation( 0, 0 );
frame.setVisible(true);
frame.setSize( 500,500 );
}
}
---------------------------------------------

DTH
08 de Marzo del 2005
Ya lo solucioné pueden ignorar esto