Hola me pueden ayudar por favor, tengo esta clase conexion
public class Conexion {
public static Connection connection;
private static final String HOST="192.168.0.122";
private static final String DB="siscon";
private static final String USER="root";
private static final String PASS="";
public static void Conexion(){
connection=null;
try{
String url="jdbc:mysql://" + HOST + "/" + DB;
Class.forName("com.mysql.jdbc.Driver");
connection=(Connection) DriverManager.getConnection(url,USER,PASS);
System.out.println("Conexion Abierta");
}catch(SQLException e){
System.out.println("SQLException " + e.getMessage());
}catch(ClassNotFoundException e){
System.out.println("Exception " + e.getMessage());
}
}
}
y una clase GestionDatos con el cual extraigo datos de mi BD y lo almaceno en una array.
package Clases;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
*
* @author sniper
*/
public class GestionDatos {
Eventos evento=new Eventos();
PreparedStatement pst;
ResultSet rs;
public String[] extraerDatos(String sql,int columnas){
String[]datos=new String[columnas];
try{
pst=Conexion.connection.prepareStatement(sql);
rs=pst.executeQuery(sql);
if(rs.next()){
for(int x=0;x<datos.length;x++){
datos
- =rs.getString(x+1);
}
}
return datos;
}
catch(SQLException e){
System.out.println(e.getMessage());
}
return null;
}
}
cuando lo ejecuto me sale el error:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
QUE ESTOY HACIENDO MAL?? GRACIAS POR su respuesta
también en vez de acceder al resultado por el numero de la columna puedes acceder por el nombre de la columna, tambien podrias acceder pormedio de un ArrayList<String[]> arreglo = new ArrayList<>(); y asii ya no te preocupas de definir le un tamaño y solamente con el metodo addElement vas agregando los valores
while( valores.next() )
{
arreglo.addElement(valores.getString( "IDReferencia" ))
areglo.addElement(valores.getString( "IDPaciente" ));
areglo.addElement( valores.getString( "IDUMedicaEnvia" ));
}
pero si es con el arreglo de String que difiniste solo tendría un cambio
int x = 1;//no recuedo si las columnas de una tabla empiezan por 0 o desde el 1 jajajaja
while(rs.next())
{
datos[x-1]=rs.getString(x);
//x-1 por q los arreglos empiezan desde el 0 a contar y el otro lado solo queda como x ya q tiene el 1 y es el primer campo de la tabla y a si tambien para que no se salga del tamaño del arrglo en caso de que si empiece por el 1 las columnas de una tabla entonces solo ponemos datos[x]
x++;
}