tenho uma coluna onde seu valor é 12.
ex: select parcela from Aluno where ID_aluno=1;
retornaria:
12
tem alguma forma de retorna.
1
2
3
4
até 12(que é o valor da coluna)
é possivel ?
tenho uma coluna onde seu valor é 12.
ex: select parcela from Aluno where ID_aluno=1;
retornaria:
12
tem alguma forma de retorna.
1
2
3
4
até 12(que é o valor da coluna)
é possivel ?
Vc quer todas as parcelas de todos id ??
quais as colunas que tem na tabela aluno?
Se entendi certo voce tem uma coluna com o número de parcelas, mas na sua aplicação voce precisa exibir todas as parcelas. O normal é que você faça o SELECT conforme está no seu exemplo e fazer um loop para preencher uma lista com as parcelas que você precisa exibir.
for(.int i = 0; i < parcela; i++)
vou querer de todos os ids.
Porem separados.
quando eu buscar do id 1 vir todas as parcelas.
quando eu buscar do id 2 vir todas as parcelas.
ID_aluno
Nome
Parcela
ValorMensal
Se entendi certo voce tem uma coluna com o número de parcelas, mas na sua aplicação voce precisa exibir todas as parcelas. O normal é que você faça o SELECT conforme está no seu exemplo e fazer um loop para preencher uma lista com as parcelas que você precisa exibir. for(int i = 0; i < parcela; i++).
Tentei colocar o for assim mas nao deu certo.
public ArrayList<Aluno> listFinan() throws SQLException {
ArrayList<Aluno> listar = new ArrayList<>();
stmt = connection.createStatement();
try {
PreparedStatement sql = connection.prepareStatement("SELECT * FROM Aluno where ID_aluno='1'");
rs = sql.executeQuery();
while (rs.next()) {
Aluno aluno = new Aluno();
int i=0;
// for(i=0;i<aluno.getParcelas().length();i++){
aluno.setParcelas(rs.getString("Parcelas"));
aluno.setValorMensal(rs.getBigDecimal("ValorMensal"));
aluno.setDataVenc(rs.getString("DataVenc"));
listar.add(aluno);
//}
}
} catch (SQLException e) {
}
stmt.close();
return listar;
}
ID_aluno
Nome
Parcela
ValorMensal
Pelo que entendi o campo ‘parcela’ é o número de parcelas, é isso mesmo?
ID_aluno
Nome
Parcela
ValorMensal
Pelo que entendi o campo ‘parcela’ é o número de parcelas, é isso mesmo?
Sim é isso mesmo.
a idéia é se no campo parcela esta com o valor 12.
minha aplicação monta uma tabela com12 linhas
No caso você vai ter que ter um objeto Parcela (só uma sugestão)quais as colunas que tem na tabela aluno?ID_aluno
Nome
Parcela
ValorMensalPelo que entendi o campo 'parcela' é o número de parcelas, é isso mesmo?
Sim é isso mesmo.
a idéia é se no campo parcela esta com o valor 12.
minha aplicação monta uma tabela com12 linhas
public ArrayList<Parcela> listFinan() throws SQLException {
ArrayList<Aluno> listar = new ArrayList<>();
stmt = connection.createStatement();
try {
PreparedStatement sql = connection.prepareStatement("SELECT * FROM Aluno where ID_aluno='1'");
rs = sql.executeQuery();
while (rs.next()) {
Aluno aluno = new Aluno();
int i=0;
aluno.setParcelas(rs.getString("Parcelas"));
aluno.setValorMensal(rs.getBigDecimal("ValorMensal"));
aluno.setDataVenc(rs.getString("DataVenc"));
for(i=0;i<aluno.getParcelas().length();i++){
Parcela parcela = new Parcela();
parcela.setValor(aluno.getValorMensal());
parcela.setAluno(aluno);
parcela.setNumeroDaParcela(i);
}
listar.add(aluno);
//}
}
} catch (SQLException e) {
}
stmt.close();
return listar;
}
No caso você vai ter que ter um objeto Parcela (só uma sugestão)quais as colunas que tem na tabela aluno?ID_aluno
Nome
Parcela
ValorMensalPelo que entendi o campo 'parcela' é o número de parcelas, é isso mesmo?
Sim é isso mesmo.
a idéia é se no campo parcela esta com o valor 12.
minha aplicação monta uma tabela com12 linhaspublic ArrayList<Parcela> listFinan() throws SQLException { ArrayList<Aluno> listar = new ArrayList<>(); stmt = connection.createStatement(); try { PreparedStatement sql = connection.prepareStatement("SELECT * FROM Aluno where ID_aluno='1'"); rs = sql.executeQuery(); while (rs.next()) { Aluno aluno = new Aluno(); int i=0; aluno.setParcelas(rs.getString("Parcelas")); aluno.setValorMensal(rs.getBigDecimal("ValorMensal")); aluno.setDataVenc(rs.getString("DataVenc")); for(i=0;i<aluno.getParcelas().length();i++){ Parcela parcela = new Parcela(); parcela.setValor(aluno.getValorMensal()); parcela.setAluno(aluno); parcela.setNumeroDaParcela(i); } listar.add(aluno); //} } } catch (SQLException e) { } stmt.close(); return listar; }
Ok, mas nesse caso vou ter que criar uma Classe Parcelas e os metodos get/set ?
i
O seu objeto aluno não tem um campo para a parcela, somente para o número de parcelas. Ao invés de criar um objeto parcela voce pode colocar um atributo numeroDaParcala na sua classe Aluno e no lugar da classe Parcela voce usaria a classe aluno. Não sei qual o uso pra você, mas isso não é o correto. O correto é uma classe ser responsável por cada coisa. Por exemplo, sua classe Aluno não deveria ter o número de parcelas, porque no caso ficaria limitado a um parcelamento por aluno. O correto é ter na classe Aluno somente os dados do aluno. E ter uma classe Parcelamento com o Id do parcelamento, o aluno e o número de parcelas. Assim o aluno poderia fazer vários parcelamentos e voce conseguiria manter um histórico destes parcelamentos.
usa um order by no seu select para ordenar por id do aluno…daí vem primeiro todas as parcelas do Id 1 depois vem todas do id 2 e assim por diante