Java SQL - ArrayList

Java SQL - ArrayList
S7
S7
  • Rejestracja:około 10 lat
  • Ostatnio:około 4 lata
  • Postów:34
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:

Kopiuj
 @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.

Kopiuj
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.

Fantazjatyk
  • Rejestracja:prawie 9 lat
  • Ostatnio:prawie 3 lata
  • Postów:133
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:

Kopiuj
 @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.

Kopiuj
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...

edytowany 3x, ostatnio: Fantazjatyk
Burdzi0
Nie cytuj całego posta, bo to upierdliwe
Burdzi0
Nie wiem po co ta ironia. Zamiast czytać odpowiedź scrolluję pół strony. Zobacz sobie inne posty. Cytuj tylko wtedy, kiedy chcesz zwrócić na pewien fragment uwagę. I trochę mniej dziecinnego zachowania, nie uważasz?
Fantazjatyk
Dobrze, już więcej nie będę

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.