Problem w połączeniu z bazą postgresql

0

Mam problem taki jak w temacie. Co ciekawe jak próbuje wywołać jakiekolwiek query w pgadmin to nie daje ono żadnych rezultatów. Już pokazuje co się dzieje:

public class dbConnection {
	
	static private String urlDatabase = "jdbc:postgresql://localhost:5432/BM_Database";
	static private String user = "postgres";
	static private String pass = xxx";
	static private Connection conn;
	static private Statement statement;
	static private ResultSet resultset;
	
	public static Connection dbConn() {
		try {
			DriverManager.registerDriver(new org.postgresql.Driver());
			conn = DriverManager.getConnection(urlDatabase, user , pass);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	
	public static Statement statement() throws SQLException {
		statement = conn.createStatement();
		return statement;
	}
	
	public static void resultset(String query) throws SQLException {
		resultset = statement.executeQuery(query);
		while(resultset.next()) {
			System.out.println(resultset.getString("budget_id") + " " + resultset.getString("budget_name"));
		}
		resultset.close();
		statement.close();
		conn.close();
	}
	
}


title
title

0

Wywołaj sobie jakieś durne query typu:

select 'foo' budget_id, 'bar' budget_name;

I zobacz czy silnik bazodanowy coś zwraca.

0
yarel napisał(a):

Wywołaj sobie jakieś durne query typu:

select 'foo' budget_id, 'bar' budget_name;

I zobacz czy silnik bazodanowy coś zwraca.

Teraz zwrócił, sprawdzałem w pgadmin. w Javie też poszło. O co chodzi, brak rekordów w bazie jest problemem?

0

Podejrzewam, że chodzi o to, że rozróżniane są wielkie i małe litery (pewnie baza stoi na linuxie).

0

Możliwe, że nazwa tabeli przy tworzeniu została podana w cudzysłowie:

create table "Foo" (a int);

I trzeba w zapytaniach używać nazwy w " :

select * from "Foo";
0

Bardzo żałuję, ale takie rozwiązanie nadal mi wyrzuca ten sam błąd:

String query = "select * from \"budget\";";
1
Adam_85 napisał(a):

Bardzo żałuję, ale takie rozwiązanie nadal mi wyrzuca ten sam błąd:

String query = "select * from \"budget\";";

Zauważ, że "Budget" i "budget", to inne tabele. W screenshocie, który załączyłeś budget pisane jest wielką literą. Spróbuj:

String query = "select * from \"Budget\";";
0
yarel napisał(a):
Adam_85 napisał(a):

Bardzo żałuję, ale takie rozwiązanie nadal mi wyrzuca ten sam błąd:

String query = "select * from \"budget\";";

Zauważ, że "Budget" i "budget", to inne tabele. W screenshocie, który załączyłeś budget pisane jest wielką literą. Spróbuj:

String query = "select * from \"Budget\";";

Wcześniej próbowałem z małej i z dużej. Jednak w tej opcji tego nie zrobiłem. Wielkie dzięki za pomoc!! Działa.

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