Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Baal_30 en 30 Mayo 2015, 23:13 pm



Título: Acceso BBDD desde fuera del main
Publicado por: Baal_30 en 30 Mayo 2015, 23:13 pm
Muy buenas, estoy haciendo un jueguecito para ir probando el acceso a bases de datos, y quiero meter los atributos de un personaje desde una bbdd , pero no se si se puede abrir la conexión a una bbdd desde fuera del main, porque me está dando errores :/

Por ahora tengo este código :
Código
  1. package Juego;
  2. import java.util.InputMismatchException;
  3. import java.util.Scanner;
  4. import java.sql.*;
  5.  
  6. public class Personaje {
  7. private int nivel;
  8. private int exp;
  9. private String nombre;
  10. private int raza;
  11. private int clase;
  12. private int daño;
  13. private int defensa;
  14. private int acierto;
  15. private int mana;
  16. private int vida;
  17. private int reino;
  18.  
  19. static Scanner S = new Scanner(System.in);
  20.  
  21. try{
  22. Class.forName("com.mysql.jdbc.Driver");
  23.  
  24. Connection conexion = DriverManager.getConnection("jdbc:mysql://"
  25. + "localhost" + "/" + "bbdd", "root", "");
  26. } catch (ClassNotFoundException e) {
  27. e.printStackTrace();
  28. }
  29.  
  30.  
  31.  
  32.  
  33. public Personaje(){
  34. System.out.println("Introduce tu nombre de personaje: ");
  35. this.nombre = S.nextLine();
  36. System.out.println("Escoge la raza: ");
  37. this.raza = capturarNum();
  38. System.out.println("Escoge la clase: ");
  39. this.clase = capturarNum();
  40. this.nivel = 0;
  41. this.exp = 0;
  42.  
  43. }
  44.  
  45. public static int capturarNum(){
  46. int num;
  47.  
  48. try{
  49. num = S.nextInt();
  50. String prueba = S.nextLine();
  51. }catch(InputMismatchException e){
  52. System.out.print("Error al introducir un número, intentalo de nuevo: ");
  53. num = capturarNum();
  54. }
  55.  
  56. return num;
  57. }
  58. }
  59.  

Me da error en la linea donde declaro el Scanner, me dice que en vez de ";" tengo que poner "{"
y en la llave para cerrar el catch también me da error...

Quizás lo que quiero no se hace de esta forma...

Un abrazo.


Título: Re: Acceso BBDD desde fuera del main
Publicado por: Baal_30 en 31 Mayo 2015, 17:00 pm
Lo he arreglado pasándole como argumento a los métodos que quiero utilizar un objeto de tipo connection. Así me sirve, creo, pero, ¿es la única forma de hacerlo o hay alternativas mejores?