SQL i funkcja zwracająca tablice dwówymiarową

0

Piszę aplikację bazodanową.
I mam sobie klase:

class MetaDatabase { 

	 private final String url ="jdbc:mysql://127.0.0.1:3306/test";
	 private final String login="test";
	 private final String pass="test";
	 private Connection connection;
	 public  MetaDatabase() { 
	  try { 
	   Class.forName("com.mysql.jdbc.Driver"); // zaladowanie sterownika 
	  } 
	  catch(java.lang.ClassNotFoundException e) { 
	   System.err.print("Klasa nieznaleziona: "+e.getMessage());}
	  }
	public boolean DodajKlient(String imie,String Nazwisko,String telefon,String adres,String pesel)
	{
		try {
			   // polaczenie z baza
			   connection = DriverManager.getConnection(url,login,pass); 
			   Statement stmt = connection.createStatement();
			   String sql = "INSERT INTO klient (imie,nazwisko,telefon,adres,pesel) VALUES ('"+imie+"','"+Nazwisko+"','"+telefon+"','"+adres+"','"+pesel+"')";
			   stmt.execute(sql);		
			   connection.close();
			   return true;
			   
		}
		catch (Exception e) {
		    System.err.println("Problem: "+e.getMessage());
		    return false;
		   }
		
		
				
	}
	public Object[][] Tablica()
	{
	byte i=0;
	Object[][] tablica = null;
		try {
			   // polaczenie z baza
			   connection = DriverManager.getConnection(url,login,pass); 
			   Statement stmt = connection.createStatement();
			   String sql = "SELECT *FROM `klient`LIMIT 0 , 30";
			   ResultSet klienci = stmt.executeQuery(sql);
			   while(klienci.next())
			   {
				   for(byte j=0;j<6;j++)
				   {
					   tablica[i][j]=klienci.getString(j);
					   System.out.println(klienci.getString(j));
				   }
			   }
			   return tablica;
			   
			   
			   
		}
		catch (Exception e) {
		    System.err.println("Problem w tablicy: "+e.getMessage());
		   }
		return null;
		
	
	}
}

I mam problem gdyż wywala bląd podczas użycia metody Tablica(). Łapie wyjątek. Jednak klasa Dodaj() działa poprawnie.
Drugie pytanko:
Czy w ten sposób mogę w ogolę tworzyć tablice 2-wymiarowe?
Potrzebuje tę tablicę do komponent JTable

0

A gdzie w ogóle tworzysz obiekt tablicy? Bo przypisanie nulla do referencji nie jest ani utworzeniem, ani inicjacją tablicy. Jest to najwyżej inicjacją zmiennej referencyjnej. Krótko mówiąc przypisujesz dane do czegoś co nie istnieje.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.