O código, como o pmlm falou, fica assim:
Statement stmt = null;
Connection conn = null;
query = "SELECT * FROM weather_data WHERE station = ?"
PreparedStatement pstm = conn.prepareStatement(query);
pstm.setString(1,station);
pstm.executeQuery();
Jamais concatene Strings no seu SQL.
Isso deixa a query dependente do formato de texto de data do banco, dá problemas com apóstrofes e outros caracteres especiais e ainda deixa seu código vulnerável a dependency injection. Use PreparedStatement.
Aliás, essa que você pensou nem a pior. Ele poderia fazer:
"1<>1; DELETE * FROM weather_data; Commit;"
E muitos bancos vão aceitar os três comandos (no lugar do delete, que pode ser bloqueado por um join, poderia ser também um update, que alterasse uma coluna importante para um valor só).