Java SQL - ArrayList

0

Cześć!

Muszę Was zapytać ponieważ siedzę w googlach i nie umiem sobie poradzić od dłuższego czasu. Mam klasę która dla SQL. Nic nadzwyczajnego:

 @Override
public void initialize(URL url, ResourceBundle rb){
	DB db = new DB();
	db.dbconnect("jdbc:sqlserver://127.0.0.1:1433;databaseName=sql_test;selectMethod=cursor","tester", "pass", "select * from table_1");
	}

i klasę, która łączy się z bazą, pobiera wyniki i wrzuca je do ArrayList. Wszystko działa idealnie.

public class DB{
	public DB() {}
	public void dbconnect(String db_connect_string, String db_userid, String db_password, String queryString){
		try{
			ArrayList<String> sql_wynik = new ArrayList<String>();
			sql_wynik.ensureCapacity(3);
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);
			Statement statement = conn.createStatement();
			ResultSet rs = statement.executeQuery(queryString);
			
			while (rs.next()) {
				sql_wynik.add(rs.getString(1));
			}
				conn.close();
		}
		catch (Exception e){
			e.printStackTrace();
		}}};

Jak mogę przekazać ArrayList z klasy DB do klasy wywołującej initialize ?

Z góry dziękuje za wszelkie sugestie i rozwiązania.

0
szymon708 napisał(a):

Cześć!

Muszę Was zapytać ponieważ siedzę w googlach i nie umiem sobie poradzić od dłuższego czasu. Mam klasę która dla SQL. Nic nadzwyczajnego:

 @Override
public void initialize(URL url, ResourceBundle rb){
	DB db = new DB();
	db.dbconnect("jdbc:sqlserver://127.0.0.1:1433;databaseName=sql_test;selectMethod=cursor","tester", "pass", "select * from table_1");
	}

i klasę, która łączy się z bazą, pobiera wyniki i wrzuca je do ArrayList. Wszystko działa idealnie.

public class DB{
	public DB() {}
	public void dbconnect(String db_connect_string, String db_userid, String db_password, String queryString){
		try{
			ArrayList<String> sql_wynik = new ArrayList<String>();
			sql_wynik.ensureCapacity(3);
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);
			Statement statement = conn.createStatement();
			ResultSet rs = statement.executeQuery(queryString);
			
			while (rs.next()) {
				sql_wynik.add(rs.getString(1));
			}
				conn.close();
		}
		catch (Exception e){
			e.printStackTrace();
		}}};

Jak mogę przekazać ArrayList z klasy DB do klasy wywołującej initialize ?

Z góry dziękuje za wszelkie sugestie i rozwiązania.

Wiesz co, może jestem idiotą, ale wydaje mi się, że mógłbyś ją po prostu zwrócić za pomocą metody ArrayList<String> dbconnect(){[...] return sql_wynik;}. Chyba, że to jest dla Ciebie za proste rozwiązanie...

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