Hola a todos, reulta que necesito hacer una aplicación que gestione una base de datos, pero además que también permita crear usuarios y definir sus permisos que tendrán para modificar, leer, insertar o borrar datos en esa base de datos. Y todo debe ser mediante una aplicación programada.
Lo que necesito es que en un apartado (en una JTable) muestre los usuarios que existen en MySQL y que muestre los permisos que tienen cada uno de ellos...
Pero aun tengo el problema en hacerlos aparecer, hasta ahora he sacado los usuarios con un resultset, consultando la tabla de usuarios de mysql.... El problema viene cuando quiero obtener los permisos de los usuarios.
Miren el código lo tengo asi:
Código PHP:
Connection conex = DriverManager.getConnection(DBdir+"mysql", DBuser, DBpass);
Statement st = conex.createStatement();
//Aqui hago la consulta para los usuarios que tiene mysql
ResultSet res = st.executeQuery("SELECT USER FROM USER;");
//Preparo el otro result para SHOW GRANTS
ResultSet grans = null;
while(res.next()) {
//obtengo el usuario
String usuario = (String) res.getObject("user");
//Y pregunto por los permisos del usuario obtenido
grans = st.executeQuery("SHOW GRANTS FOR " + usuario + ";");
//aqui guardo los permisos en una string
String permiso = (String) grans.getObject(1);
//y agrego lo obtenido a un array list con el cual cargare la tabla
arryCuentas.add(new CuentasMYSQL(usuario, permiso));
System.out.println(usuario + permiso);
}
Asi como tengo el código lanza la SQLException en la linea de:
String permiso = (String) grans.getObject(1); y la exception lo que dice es:
Before start of result set.
Ahora para lo que quiero hacer (obtener nombres de usuarios y sus permisos) es lo correcto? o como lo hago? en la documentacion del Connector/J no hay nada acerca de esto.
Por favor si alguien me puede ayudar, ya en estos dias tengo que entregar la aplicación y pues aun surgen detalles como este.
Gracias de antemano!