estoy terminando una aplicacion y decidi eliminar una advertencia que siempre me aparece al crear el jar final:
Código:
entonces estuve leyendo y me encontrè con esta lectura:warning: com.sun.rowset.CachedRowSetImpl is Sun proprietary API and may be removed in a future release import com.sun.rowset.CachedRowSetImpl; ^
http://cirovladimir.wordpress.com/20...base-de-datos/
pero entonces ahora estoy en un dilema:
¿“com.sun.rowset.CachedRowSetImpl” u “oracle.jdbc.rowset.OracleCachedRowSet”.?
¿o elíjo otra forma de hacer estas consultas?,
¿se podría cambiar el siguiente método para que no utilize el CachedRowSetImpl, pero que sigua retornando el CachedRowSet?
Código PHP:
public CachedRowSet Consulta(String sql)
{
CachedRowSet crs=null;
Connection con=null;
Statement s=null;
ResultSet rs=null;
try
{
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
String carpeta;
if(MarcoPrincipal.getSo().equals("Linux")){
carpeta="/BD";
}else{
carpeta=String.valueOf((char)(92))+"BD";
}
url= "jdbc:derby:"+MarcoPrincipal.getDirectorioAplicacion()+carpeta;
con = DriverManager.getConnection(url, "stiven", "stiven");
s = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs= s.executeQuery(sql);
crs= new CachedRowSetImpl();
crs.populate(rs);
rs.close();
s.close();
con.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"<html><center>Error: Es probable que la base de datos</center> "
+ "<center>no se encuentre en la carpeta del programa, o que este software ya se encuentre en ejecución.</center> ");
} catch (ClassNotFoundException ex) {
}
finally{
try {
if(con!=null)con.close();
if(s!=null)s.close();
if(rs!=null)rs.close();
} catch (SQLException ex) {
Logger.getLogger(ConectarDerby.class.getName()).log(Level.SEVERE, null, ex);
}
}
return crs;
}
es que la verdad este metodo se utiliza mucho en mi aplicacion y me implicaría mucho trabajo si cambiase el tipo de valor retornado. :/
agradezco sus consejos...