Błąd przy zwracaniu danych z mysql

0

Jestem w javie początkujący i nie mam pomysłu jak rozwiązać ten problem. Chciałbym żeby wszystkie dane z mysql zostały zapisane do jednej zmiennej.

public class Sql {
	public static String theQuery(String query, String res){
		try {
			Class.forName("com.mysql.jdbc.Driver");
			
			String url = "";
			String name = "";
			String password = "";
			
			Connection myConn = DriverManager.getConnection(url, name, password);
			Statement myStmt = myConn.createStatement();
			ResultSet myRs = myStmt.executeQuery(query);
				while (myRs.next()) {
					String wynik = myRs.getString(res);
					System.out.println(wynik);
				}	
		}
		catch(Exception exc) {
			exc.printStackTrace();
		}
		return wynik; // Eclipse pokazuje mi to na czerwono
	}
}
1

Pokazuje na czerwono, bo zwracana zmienna nie jest zadeklarowana (powinna być zadeklarowana nad try). Będziesz musiał połączyć częściowe wyniki w jeden. Przykładowo coś w sylu:
String wynik =""; a później w pętli wynik+= myRs.getString(res); Ale szczerze to nie wiem co zwróci myRs.getString(res) [jak jest dobrze to dobrze, nie twierdzę, że coś jest nie tak].

0

krsp Dzięki za pomoc

0

Tylko że jest jeszcze taki mały problem. Inicjalizuję sobie zmienną z wynikami java Sql conn = new Sql(); String test = Sql.theQuery("SELECT * FROM uzytkownicy", "email"); i teraz chcę sobie wyświetlić te dane System.out.println(test); I problem jest w tym, że jak mam w bazie 4 emaile to zawsze mi wyświetli ten ostatni 4.

1

No tak, bo do jednej zmiennej nie zmieścisz 4 roznych danych. Kiedy w petli pobierasz @ z bazy do zmiennejj "test" to kolejno od licznika=0 do 3 bedzie ona systematycznie nadpisywana nowym @ wyciagnietym z bazy, wynikiem czego kiedy po za petla juz bedziesz chcial odczytac @ ze zmiennej, bedzie to ostatni, ktory zostal do niej pobrany.

0

Ta, już się zorientowałem. Trochę głupia reakcja z mojej strony.

1 użytkowników online, w tym zalogowanych: 0, gości: 1