Buenas,
El mensaje de error indica que es un error de sintaxis Mysql. Me parece que el único error de ese tipo que puede haber tiene que estar en esta línea:
Código:
rset=stmt.executeQuery("select p.ncargo from personal p where p.login="+login+" and p.password="+contraseña+"");
Te faltan las comillas para delimitar los strings (suponiendo que los campos sean strings, que tienen toda la pinta).
O sea, la consulta que mandás a la base termina siendo:
Código:
select p.ncargo from personal p where p.login=pepe and p.password=gonzalez
cuando debería ser más bien
Código:
select p.ncargo from personal p where p.login='pepe' and p.password='gonzalez';
Suerte
Califa