Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/03/2008, 15:08
MMMartinez
 
Fecha de Ingreso: enero-2008
Mensajes: 42
Antigüedad: 17 años
Puntos: 2
Re: ¿Como preguntarle a MySQL si existe una BD o una tabla?

Hola

Si, lo quiero hacer desde java. He estado echando un vistazo al link que has puesto y parece que solo viene la forma de saber si existe la tabla.

El método parece que es getTables y lo guarda en un ResultSet pero no se como sacar de ahí lo que quiero (saber si existe la tabla o no) lo he hecho con estas dos líneas pero por hacer algo :$
Código:
ResultSet rs1=metadata.getTables(" "," ", "ontologia", tabla);
boolean b=rs1.getBoolean(1);
He elaborado el siguiente código guiandome por lo que he leido del link, pero me da un fallo que no se porque es.

Código:
public static void main(String[] args){
          try{

		Class.forName("org.gjt.mm.mysql.Driver").newInstance();
		String url = "jdbc:mysql://localhost/almacenamiento";
		String DB_USER =   "user";                         
		String DB_PASSWD = "pass";                        
					 
		Connection c1= DriverManager.getConnection(url, DB_USER,  DB_PASSWD);

	 	DatabaseMetaData metadata = null; 				
		metadata=c1.getMetaData();

		String tabla[]={"TABLE"};	
		
                //ontologia es la tabla a buscar en la base de datos almacenamiento
		ResultSet rs1=metadata.getTables("","", "ontologia", tabla); 
		boolean b=rs1.getBoolean(1);
		c1.close();
		System.out.print(b);
             }    	
	     catch (Exception e){	
			e.printStackTrace();
	     }
}
El fallo es el siguiente:
Cita:
java.sql.SQLException: Before start of result set
Gracias.

Saludos!